我必须计算一个范围内不为空的单元格的数量,因此必须使用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
答案 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)