在Excel中的列表中查找第n个匹配项

时间:2019-05-30 11:15:20

标签: excel excel-formula

我在A1:A5的Excel中有一张表

RNSignatureCapture

我想使用Excel函数而不是VBA查找值'a'的第n次出现的行

  • 如果在此函数中输入1,我想得到1。

  • 如果我在此函数中输入2,我想得到2。

  • 如果我在此函数中输入3,我想得到4

一种有效的解决方案是添加以下公式 B1中的a a b a b ,然后将其向下拖动到B5。

然后我可以使用=COUNTIF($A5:A5,"a"),其中C1包含变量n。

但是有一种无需添加额外列的更整洁的方法吗?

2 个答案:

答案 0 :(得分:2)

=AGGREGATE(15,6,1/(myMatch=myRange)*ROW(myRange),Occurrence)

公式的1/(..)部分会将不匹配项转换为DIV/0!函数可以忽略的错误。因此,最小值将是第一个匹配值;等

enter image description here

答案 1 :(得分:2)

这应该起作用阵列格式:CTRL + SHIFT + ENTER

=SMALL(IF(C1=$A$1:$A$5,ROW($A$1:$A$5)),$C$2)

enter image description here