![Excel 结合 INDEX 和 MATCH](https://linux22.com/image/1355461/Excel%20%E7%BB%93%E5%90%88%20INDEX%20%E5%92%8C%20MATCH.png)
我有一张包含以下数据的表格:
A B
1 Raisa A
2 Mellissa A
3 Emma A
4 Slyvia B
5 Salina C
6 Beula A
7 Apolonia F
我想列出所有成绩为 A 的人,如下所示:
Raisa
Mellissa
Emma
Beula
我目前使用以下公式:
=INDEX(A1:A7;MATCH("A";B1:B7;0))
输出如下
Raisa
我如何改变公式以便以下每个单元格都显示“下一个匹配”?
答案1
您可以在 D2 中使用此公式
=IFERROR(INDEX(A$1:A$7;SMALL(IF(B$1:B$7="A";ROW(B$1:B$7)-ROW(B$1)+1);ROWS(D$2:D2)));"")
用++CTRL确认并复制下来SHIFTENTER
我使用 ; 作为分隔符,因为这是问题中使用的样式
答案2
如果您的数据中没有重复项,请继续在第一个单元格中使用公式(我假设E1
,然后使用以下内容复制:
=INDEX(offset($A$1:$A$7;MATCH(E1;$A$1:$A$7;0);0;;);MATCH("A";offset($A$1:$A$7;MATCH(E1;$A$1:$A$7;0);1;;);0))
当然,过滤器可以让你的生活更轻松。
答案3
与nutsch的答案类似,尝试以下公式C2
:
=IFERROR(INDEX(OFFSET($A$1:$A$7,MATCH(C1,$A$1:$A$7,0),0),MATCH($E$1,OFFSET($B$1:$B$7,MATCH(C1,$A$1:$A$7,0),0),0)),"")
=INDEX($A$1:$A$7,MATCH($E$1,B1:B7,0))
这假设您在- 中使用公式C1
并将要查找的值(即A
)存储在单元格中E1
。
(注意:请,
根据;
您当地的设置替换)