在excel中使用CountIf,以row()作为第二个范围

时间:2014-07-30 06:13:54

标签: excel excel-formula countif

是否可以在Excel中使用一个函数,其中第二个范围是用户当前所在的当前行?例如,如果列A具有客户编号,那么用户是否可以将列B作为具有相同客户编号的当前行数?像=countif(A1:Row(), Row())这样的东西。因此,如果用户在B14上,那么该函数将是=countif(A1:A14, A14)

我宁愿不使用VBA,也不想使用Excel中的新功能。如果这是一个简单的答案我很抱歉。我发誓在解决这个问题之前我确实在寻找答案。

4 个答案:

答案 0 :(得分:1)

你的问题的答案是肯定的。使用 INDIRECT 功能。类似的东西:

=COUNTIF(INDIRECT("A1:A"&Row()), INDIRECT("A"&Row()))

答案 1 :(得分:0)

您可以使用其他内容,而不是使用当前行,您可以使用所有ID的下拉列表。单元格保持不变,但您可以从列表中选择所需的数字并使用它来计算。

看看这里,告诉我你是否需要更多帮助: http://www.techrepublic.com/blog/microsoft-office/how-to-add-a-drop-down-list-to-an-excel-cell/

答案 2 :(得分:0)

另一种方法:

=COUNTIF(OFFSET($A$1,0,0,ROW()),A:A)

答案 3 :(得分:0)

比使用"完全"更好不稳定的OFFSET和INDIRECT设置是使用一个INDEX,在这种结构中,它只是易变的"在工作簿打开"。

另外,如果您正在寻找可以复制到其他单元格的公式,使得引用的行始终是公式所在的行,那么使用ROWS而不是ROW的结构要好得多,因为后者受范围内的行插入影响,而前者不是。因此,第14行中的公式为:

= COUNTIF(A1:INDEX(A:A,ROWS($ 1:14)),INDEX(A:A,ROWS($ 1:14)))

此致