Excel MATCH + COUNTIF函数:检索数组中的第n个值

时间:2012-04-10 16:10:51

标签: excel function countif excel-match

我有一个我在Excel中使用的公式,用于返回与指定值匹配的第一个项目的行#。

公式:=MATCH(0,COUNTIF($B$1,List),0) + CTRL + SHIFT + ENTER ,在Mac中: CMD + RETURN

成为:

MATCH(0,{**0**;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0},0)

输出:1

我想更新函数,以便找到匹配指定值的第2个,第3个等实例。

喜欢这个:

MATCH(0,{0;**0**;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0},0)

这输出:2

2 个答案:

答案 0 :(得分:3)

您当前的公式是否找不到匹配B1的列表中第一个值的位置?

第二次尝试这个数组公式

=SMALL(IF(List<>$B$1,ROW(List)-MIN(ROW(List))+1),2)

2替换为第n个匹配的任何值n。假设列表是单列

答案 1 :(得分:0)

您可以在每次发现事件时动态移动列表,以便下次出现时列表将从找到的最后一个位置开始。

使用此MATCH(<Match value>,INDIRECT(" <column of data> " & <Last position found> +1 & ":<Column of Data><Last Row Of Data>"),0)+<Last position found>

请参阅:filter dynamic