You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Excel INDEX+SMALL公式添加多条件实现跨表自动填充?

解决方案

方法1:修改原有数组公式(兼容旧版Excel)

你的原公式可以通过添加逻辑与条件实现多条件匹配,只需在IF函数中用*连接两个判断条件:

骑手姓名(Barrels工作表C列,假设B列为组别)

在C2单元格输入以下公式,完成后按Ctrl+Shift+Enter(旧版Excel需触发数组运算),再下拉填充:

=IFERROR(INDEX('Master Entries'!$A$3:$A$250, SMALL(IF(('Master Entries'!$E$3:$E$250=$B2)*('Master Entries'!$F$3:$J$250<>""), ROW('Master Entries'!$A$3:$A$250)-ROW('Master Entries'!$A$3)+1), ROW(A1))), "")

马匹姓名(Barrels工作表D列)

同理,将INDEX的引用区域改为马匹所在列(假设Master Entries的B列为马匹名):

=IFERROR(INDEX('Master Entries'!$B$3:$B$250, SMALL(IF(('Master Entries'!$E$3:$E$250=$B2)*('Master Entries'!$F$3:$J$250<>""), ROW('Master Entries'!$B$3:$B$250)-ROW('Master Entries'!$B$3)+1), ROW(A1))), "")

公式说明:

  • ('Master Entries'!$E$3:$E$250=$B2):匹配组别一致的行
  • ('Master Entries'!$F$3:$J$250<>""):判断该行F-J列是否有赛事标记(非空即视为有标记)
  • *:逻辑与,只有两个条件同时满足才会返回有效行号
  • SMALL函数按顺序提取符合条件的行号,实现逐行填充

方法2:使用FILTER动态数组(Excel 365/2021及以上版本)

如果你的Excel支持动态数组,用FILTER函数更简洁,无需下拉填充,公式会自动溢出结果:

在Barrels工作表的B2单元格输入以下公式,一次性提取骑手、马匹及对应信息:

=IFERROR(FILTER('Master Entries'!$A$3:$C$250, ('Master Entries'!$E$3:$E$250=$B2)*('Master Entries'!$F$3:$J$250<>"")), "")

说明:

  • FILTER直接筛选符合双条件的A-C列数据
  • 若没有符合条件的记录,返回空值(通过IFERROR处理)

内容的提问来源于stack exchange,提问作者user29030156

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:28:25