如何引用另一个工作表中的单元格?

时间:2019-07-29 15:13:46

标签: excel formula

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

步骤:

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

这是我的代码

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

它在A1:A65535范围内搜索字符串,一旦找到,它就会应用偏移量以获得“ D”列(4)。 ->如果A18中有“ NRUTI_02”,则输出将为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

1 个答案:

答案 0 :(得分:2)

可以使用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)