我想在excel中的COUNTIF函数中引用扩展范围,以便通过INDEX和MATCH函数的组合来标识扩展范围的起始引用。
假设我在A列中有以下数据:{1; 1; 0}。
我可以在单元格B1中使用以下COUNTIF公式来计算1和0出现在A列数据中的累积次数,如下所示:
在单元格B1中:COUNTIF($ A $ 1:A1,A1)
如果我将其从B1:B3向下拖动,此功能的结果将是:
{1; 2; 1}
这是问题:
使用INDEX和MATCH函数,我可以找到第一个“ 1”作为单元格A1出现在A列中。
如何通过引用从INDEX和MATCH标识的'A1'为COUNTIF函数的[range]参数创建“ $ A $ 1:A1”值,并为COUNTIF函数的[criteria]参数创建“ A1”值函数组合,以便当我将其向下拖动时,只要将相对的单元格引用向下拖动到列中,它就会按预期增加行值?
如果要在单元格C1中输入此公式,则单元格C1:C3中的结果值应为{1; 2; 1}
这是我尝试产生以下结果{1; 1; 1}的公式的示例。基本上,行值不会像我希望的那样递增:
=COUNTIF(INDIRECT(CELL("address",INDEX($A$1:$A$3,MATCH(1,$A$1:$A$3,0)))):INDIRECT(LEFT(ADDRESS(ROW(INDEX($A$1:$A$3,MATCH(1,$A$1:$A$3,0))),COLUMN(INDEX($A$1:$A$3,MATCH(1,$A$1:$A$3,0))),4),1)&ROW(INDEX($A$1:$A$3,MATCH(1,$A$1:$A$3,0)))),INDEX($A$1:$A$3,MATCH(1,$A$1:$A$3,0)))
希望有人能帮助我。
谢谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您想保留大部分原始公式,请尝试
=COUNTIF(INDIRECT(CELL("address",INDEX($A$1:$A$3,MATCH($A$1,$A$1:$A$3,0)))):INDIRECT(LEFT(ADDRESS(ROW(),COLUMN(INDEX($A$1:$A$3,MATCH(A2,$A$1:$A$3,0))),4),1)&ROW()),INDEX($A$1:$A$3,MATCH(A2,$A$1:$A$3,0)))
我压缩ROW()并修改MATCH()的第一个参数,尽管似乎还有一些额外的计算。