跳至主要内容

使用INDEX检索第n个匹配项

Author: Amanda Li Last Modified: 2025-05-07

要从范围中查找某个值的第n个匹配项并检索其对应的数据,可以使用基于INDEXROW、SMALL和IF 函数的公式。

retrieve nth match with index 1

如何使用INDEX检索与第n个匹配项相关联的信息?

要获取如上表所示尤塞恩·博尔特(Usain Bolt)第3次匹配的相关信息,您可以结合使用ROW和IF函数来获取一个数组,该数组包含所有尤塞恩·博尔特值的行号。然后使用SMALL函数检索您指定的第n个匹配值的行号。最后,将结果传递给INDEX函数以获取同一行中的对应信息。

通用语法

=INDEX(返回范围,SMALL(IF(查找范围=查找值,ROW(查找范围-ROW(INDEX(查找范围,1,1))+1),n))

√ 注意:这是一个数组公式,需要您使用Ctrl + Shift + Enter输入。

  • 返回范围: 返回与第n个匹配项相对应信息的范围。这里指的是年份或时间范围。
  • 查找范围: 查找第n个匹配项行位置的范围。这里指的是获胜者范围。
  • 查找值: 您指定用于查找其第n个匹配项的值。这里指的是尤塞恩·博尔特(Usain Bolt)。
  • n: 表示第n个匹配项。要找到某个值的第1个匹配项,请将n设置为1;要找到第2个匹配项,请将n设置为2。

要获取尤塞恩·博尔特第3次匹配的相关信息,请在单元格G8和G9中复制或输入以下公式,并按Ctrl + Shift + Enter以获取结果:

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

retrieve nth match with index 2

公式说明

这里我们以下面的公式为例:

=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函数返回此Excel工作表中查找范围C6:C12的第一个行号,即6
  • IF(C6:C12=G5,IF(C6:C12=G5,ROW(C6:C12)--ROW(INDEX(C6:C12,1,1))+1)+1) = IF(C6:C12=G5,IF(C6:C12=G5,{6;7;8;9;10;11;12}--6+1)+1): IF函数检查范围C6:C12中的每个值是否与单元格G5中的值(尤塞恩 博尔特)匹配。如果是,则函数将返回“其对应的行号-6+1”的结果;否则返回FALSE。因此,结果会形成如下数组:{FALSE;2;3;4;FALSE;FALSE;FALSE}
  • SMALL(SMALL(IF(C6:C12=G5,ROW(C6:C12)-ROW(INDEX(C6:C12,1,1))+1),G6),G6) = SMALL(SMALL({FALSE;2;3;4;FALSE;FALSE;FALSE},G6),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函数返回年份范围B6:B12中的第4个值,即北京2008

相关函数

Excel INDEX函数

Excel INDEX函数根据给定的位置从范围或数组中返回显示的值。

Excel IF函数

IF函数是Excel工作簿中最简单且最有用的函数之一。它执行一个简单的逻辑测试,根据比较结果返回一个值。如果结果为TRUE,则返回一个值;如果结果为FALSE,则返回另一个值。

Excel ROW函数

Excel ROW函数返回引用的行号。


相关公式

使用VLOOKUP检索第n个匹配项

假设您有一系列值及其对应的信息,要检索某个值的第n个匹配项的相关信息,可以使用基于VLOOKUP函数的公式。

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

要在Excel列表、表格或行中检索与最小值、第2小值或第n小值相对应的数据,可以结合使用INDEX和MATCH公式以及SMALL函数。

获取与最大值对应的信息

要在Excel列表、表格或行中检索与最大值相对应的数据,可以结合使用INDEX和MATCH公式以及MAX函数。

获取与最小值对应的信息

要在表格中检索与最小值相对应的数据,可以结合使用INDEX和MATCH公式以及MIN函数。


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于以下功能彻底改变数据分析方式:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用Kutools函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  四舍五入无需公式 ...
超级VLookup多条件  |  多值  |  跨多个工作表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同的单元格 ...
精选功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并数据  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前15的工具集12个 文本 工具添加文本删除特定字符 ...)  |  50多种 图表 类型甘特图 ...)  |  40多种实用 公式基于生日计算年龄 ...)  |  19个 插入 工具插入二维码从路径插入图片 ...)  |  12个 转换 工具小写金额转大写汇率转换 ...)  |  7个 合并与拆分 工具高级合并行分割Excel单元格 ...)  |  ... 还有更多

Kutools for Excel拥有超过300种功能,确保您需要的功能只需一键即可实现...


Office Tab - 在Microsoft Office(包括Excel)中启用标签式阅读和编辑

  • 一秒内切换数十个打开的文档!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的工作效率将提高50%。
  • 为Office(包括Excel)带来高效的标签页,就像Chrome、Edge和Firefox一样。