首页 > 解决方案 > 如何引用另一个工作表中的单元格?

问题描述

我必须计算一个范围内不为空的单元格的数量,所以我必须使用该COUNTA函数。问题是,我希望它是动态的。

脚步:

首先,我必须在 D 列中检索一个单元格的引用,并且该行对应于 A 列中包含特定字符串的行。假设这个字符串是“NRUTI_02”。

所以这是我的代码

=ADDRESS(MATCH("NRUTI_02";A1:A65535;0);4)

它在 range 内搜索字符串A1:A65535,一旦找到,它就会应用偏移量来获取“D”列 (4)。-> 如果 "NRUTI_02" 在 中A18,则输出为D18.

如果我更改为另一张表(Sheet1),则代码如下:

=ADDRESS(MATCH("NRUTI_02";Sheet1!A1:A65535;0);4)

但是,要在里面使用这个公式COUNTA,我必须使用INDIRECT公式。但是如果我把INDIRECT我的公式放在前面,它就行不通了。

请问如何在函数中使用我的公式COUTNA

编辑:我的目标是拥有类似的东西COUNTA('Sheet1!'D18:D65535)

编辑2:COUNTA("Sheet1!D"&MATCH("NRUTI_02";Sheet1!A1:A65535;0):D65535)不工作

EDIT3:真实示例:我的字符串“NRUTI_02”在 A18 中。我的范围的开始是 D18,因为我想依靠 D 列。D 列中的下一个空单元格是 D21。我想计算 D18:D21 范围内的所有单元格(行)。所以我希望我的范围是动态的:第一个 arg 自动找到 D18,最后一个 arg 将第一个 arg 的输出带到列的末尾。

COUNTA(INDEX(Sheet1!D:D;MATCH("NRUTI_02";Sheet1!A:A;0)):INDEX(Sheet1!D18:D65535;MATCH(TRUE;ISBLANK(Sheet1!D18:D65535);0))) ; 

EDIT4:这是我的 Excel 文件的样子:XLSX

标签: excelformula

解决方案


可以用INDEX代替ADDRESS.

=COUNTA(INDEX(Sheet1!D:D,MATCH("NRUTI_02",Sheet1!A:A,0)):INDEX(Sheet1!D:D,65535))

甚至更简单:

=COUNTA(INDEX(Sheet1!D:D,MATCH("NRUTI_02",Sheet1!A:A,0)):Sheet1!D65535)

推荐阅读