使用INDEX检索第n个匹配项
要从范围中查找某个值的第n个匹配项并检索其对应的数据,可以使用基于INDEX、ROW、SMALL和IF 函数的公式。
如何使用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))
公式说明
这里我们以下面的公式为例:
=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函数根据给定的位置从范围或数组中返回显示的值。
IF函数是Excel工作簿中最简单且最有用的函数之一。它执行一个简单的逻辑测试,根据比较结果返回一个值。如果结果为TRUE,则返回一个值;如果结果为FALSE,则返回另一个值。
Excel ROW函数返回引用的行号。
相关公式
假设您有一系列值及其对应的信息,要检索某个值的第n个匹配项的相关信息,可以使用基于VLOOKUP函数的公式。
要在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一样。