你有没有遇到过这样的场景:在Excel表格里,明明找到了某个关键词的行号,却只能提取一个值?比如想批量提取“张三”对应的所有成绩,但index+match只返回第一个结果?别急,今天我们就用问答形式,手把手教你如何用INDEX+MATCH组合,轻松提取多个匹配值!
Q1:为什么普通INDEX+MATCH只能返回一个值?
因为标准的INDEX+MATCH公式是按“第一次出现”来定位的。比如你在A列找“张三”,它只会返回第一个“张三”所在行的B列数据,后面的“张三”就自动忽略了——这就像在图书馆找书,只翻到第一本就停手了。
Q2:那怎么才能提取所有“张三”的成绩呢?
方法来了!我们可以用数组公式或辅助列配合INDEX+MATCH实现“多值提取”。举个真实案例:假设你有一个学生成绩表,A列为姓名,B列为语文成绩,C列为数学成绩。你想把所有“张三”的两科成绩都列出来。
👉 步骤一:先用MATCH找到第一个“张三”的位置,比如是第5行。
👉 步骤二:用辅助列标记出所有“张三”的行号(比如D列写=IF(A2="张三",ROW(),""))。
👉 步骤三:用INDEX+MATCH + SMALL函数组合,依次提取第1、第2、第3个匹配项:
=INDEX(B:B,SMALL(IF($A$2:$A$100="张三",ROW($A$2:$A$100)),N))
其中N代表第几个匹配值(1表示第一个,2表示第二个……)。记得输入时按 Ctrl+Shift+Enter 作为数组公式哦~
Q3:这个方法适合朋友圈/小红书发吗?实用吗?
当然!我之前就在小红书发过这个技巧,被上千人收藏。一位宝妈留言说:“原来能批量提取孩子每次考试的成绩,不用一个个手动复制!” 这就是Excel真正的“生产力魔法”——让重复劳动变成一键搞定。
小贴士:如果数据量大,建议用Power Query或VBA自动化处理,但INDEX+MATCH组合依然是最直观、最容易上手的方法,特别适合新手和日常办公族。
别再让Excel限制你的效率了!学会这个技巧,下次看到“多个值提取”的需求,你就能自信地说:“这不是问题,这是机会!” 💪

