KutoolsforOffice — 一套方案,五大工具。事半功倍。

用 INDEX 检索第 n 个匹配项

作者Amanda Li修改日期

若需在某一区域内查找某值第 n 次出现并返回对应信息,可使用基于 INDEXROW、SMALL 及 IF 等函数的公式轻松实现。

使用索引 1 检索第 N 个匹配项

如何使用 INDEX 检索某个值第 n 次出现时的相关信息?

如需获取 Usain Bolt 第 3 次匹配对应的信息(如上表所示),可结合 ROW 和 IF 函数,先生成 Usain Bolt 所有值所在行数的数组,再通过 SMALL 函数提取第 n 次匹配的行号,最后将该结果传递给 INDEX 函数,即可获取相同行的对应信息。

通用语法

=INDEX()return_range,SMALL(IF())lookup_array=lookup_value,ROW()lookup_array-ROW(INDEX())lookup_array,1,1))+1),n))

√ 注意:这是一个数组公式,需同时按下 Ctrl+Shift+Enter 请输入内容。

  • return_range:用于返回第 n 次匹配信息的数据区域,此处指的是年份或时间范围。
  • lookup_array:用于查找第 n 次匹配所在行位置的区域,此处指获胜者的范围。
  • lookup_value:您要查找第 n 次匹配的指定值,此处以 Usain Bolt 为例。
  • n:表示第 n 次匹配。若要查找某值的第 1 次匹配,请将 n 设置为 1;若要查找第 2 次匹配,请将 n 设置为 2.

要获取 Usain Bolt 第 3 次匹配对应的信息,请将下列公式复制或输入到 G8 和 G9 单元格,并按下 Ctrl+Shift+Enter,即可获得结果:

年份(单元格 G8)
=INDEX()B6:B12,SMALL(IF())C6:C12=G5,ROW()C6:C12-ROW(INDEX())C6:C12,1,1))+1),G6))
时间(单元格 G9)
=INDEX()D6:D12,SMALL(IF())C6:C12=G5,ROW()C6:C12-ROW(INDEX())C6:C12,1,1))+1),G6))

使用索引 2 检索第 N 个匹配项

公式说明

以下以此公式为例说明:

=INDEX(B6:B12,)SMALL()IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6))

  • ROW(C6:C12):ROW 函数会返回区域 C6:C12 中每个单元格所在的行号,并以如下数组形式呈现:{6;7;8;9;10;11;12}
  • ROW(INDEX(C6:C12,1,1)):INDEX 和 ROW 函数可返回查找区域 C6:C12 在当前工作表中的首行序号,即 6.
  • IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1)=IF(C6:C12=G5,){6;7;8;9;10;11;12}-6+1):IF 函数会判断区域 C6:C12 中的每个值是否与单元格 G5(即 )UsainBolt)相等。若相等,则返回“对应行号减去 6 再加 1”的结果,否则返回 FALSE。最终结果将生成如下数组:{FALSE;2;3;4;FALSE;FALSE;FALSE}
  • SMALL()IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6)=SMALL(){FALSE;2;3;4;FALSE;FALSE;FALSE},G6): 此函数片段返回数组中第 3 个(即单元格 )G6 中的值)最小值,也就是 4.
  • INDEX(B6:B12,)SMALL()IF(C6:C12=G5,)ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6)) = INDEX(B6:B12,4)INDEX 函数将返回年份区域中的第 4 个值(即 )B6:B12 区域的第 4 行),该值为 北京 2008.

相关函数

Excel INDEX 函数

Excel INDEX 函数可根据指定位置,从某个区域或数组中返回相应的显示值。

Excel IF 函数

IF 函数是 Excel 工作表中最简单且实用的函数之一。它能够执行简单的逻辑判断,并根据比较结果返回不同的值:如果结果为 TRUE,则返回一个值,否则返回另一个值。

Excel ROW 函数

Excel ROW 函数可返回所引用单元格的行号。


相关公式

用 VLOOKUP 检索第 n 个匹配项

假如您有一组数值及其对应的信息,若需查找某个数值第 n 次出现时所对应的信息,可以通过基于 VLOOKUP 函数的公式来实现。

检索与最小 n 个值相关的信息

在 Excel 中,如需获取列表、表格或行中最小值、第 2 小值或第 n 小值对应的数据,可结合使用 INDEX、区分公式和 SMALL 函数。

检索与最大值对应的信息

在 Excel 中,若需获取列表、表格或行中与最大值对应的数据,可结合使用 INDEX、区分公式和 MAX 函数。

检索与最小值对应的信息

如需获取表格中与最小值对应的数据,可结合使用 INDEX、MATCH 和 MIN 函数。


最强最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

🤖KUTOOLS AI 助手:基于数据分析的革命性升级智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 VLookup多条件查找  |  多值返回  |  跨多表查找  |  模糊查找……
高级下拉列表便捷下拉列表  |  联动下拉列表  |  多选下拉列表……
列管理器添加指定数量的列  |  移动列  |  切换隐藏列可见状态  |对比列与选择相同/不同单元格……
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿和表管理器|资源库(自动文本)|  日期提取  |  汇总工作表  |  加密/解密单元格  |  按列表批量发送邮件  |  超级筛选  |  特殊筛选(筛选粗体单元格/斜体/删除线等) ......
顶级 15 工具集12 文本工具添加文本删除特定字符……)|  50+ 图表 类型甘特图……)|  40+ 实用公式基于生日计算年龄……)|  19 插入工具插入二维码按路径插入图片……)|  12 转换工具小写金额转大写汇率转换……)|  7 合并和拆分工具高级合并行拆分 Excel 单元格……)|…… 以及更多
在您的首选语言使用 Kutools —— 支持英语、西班牙语、德语、法语、中文及 40+ 种语言!

Kutools for Excel 拥有超过 300 项功能,让您一键直达所需……


Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑

  • 一秒即可切换数十个已打开的文档!
  • 每天为您减少数百次鼠标点击,轻松告别鼠标手困扰。
  • 在同时查看和编辑多个文档时,让您的工作效率提升高达 50%。
  • 为 Office(包括 Excel)带来高效标签页体验,畅享如同 Chrome、Edge 和 Firefox 般的便捷操作。