通过使用公式获取单元格地址来获取单元格范围

时间:2018-12-19 19:55:52

标签: excel excel-formula

我正在尝试编写一个公式,使我能够计算单元格区域之间使用的行数。我创建了一个测试公式,以查看我的思维过程是否正确。在测试中,我将标题为“ NUM”(A1)的标题放到同一列上,然后在同一列上放置一排行“ 1”,然后在第一个数组“ NUM2”({{1} },但也可以在任何位置),也可以在其下加上更多的“ 1”。我正在使用一个公式来查找单元格地址,以找到第一个标头

column A

先打印(=CELL("address",INDEX(A:A,MATCH("NUM",A:A,0),1)) ),然后将其与

结合
$A$1

其中打印(=CELL("address",INDEX(A:A,MATCH("NUM2",A:A,0),1)) )以获得第二个标题名称,此后,我使用$A$14函数对数字进行计数:

COUNTIF

我认为,如果我不使用公式中的公式,它将看起来像:

 =COUNTIF((CELL("address",INDEX(A:A,MATCH("NUM",A:A,0),1)))&":"& CELL("address",INDEX(A:A,MATCH("NUM2",A:A,0),1))),"1"))

它打印出我希望的数字12。我的问题是,我不能将两个公式的组合放到更大的=COUNTIF($A$1:$A$14,"1") 语句中吗?

1 个答案:

答案 0 :(得分:0)

您只是缺少一个INDIRECT,它将把您的字符串变成一个单元格引用。

=COUNTIF(INDIRECT(CELL("address",INDEX(A:A,MATCH("NUM",A:A,0),1)) & ":" & CELL("address",INDEX(A:A,MATCH("NUM2",A:A,0),1))),1)

一个更简单的版本(假设列A)为

=COUNTIF(INDIRECT("A"&MATCH("NUM",A:A,0)&":A"&MATCH("NUM2",A:A,0)),1)

您也可以使用OFFSET。