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

Excel技术求助:按Lookup表批量提取Entry表匹配代码的多实例

解决方案:批量返回多匹配实例结果

针对Excel 365/2021(支持动态数组)

直接在单元格I24输入以下公式,公式会自动溢出填充所有匹配结果:

=TOCOL(FILTER(Entry表的Nominal Code列区域, ISNUMBER(MATCH(Entry表的Nominal Code列区域, Lookup表的代码区域, 0))), 2)

替换说明:

  • Entry表的Nominal Code列区域:替换为你实际的Entry Table中Nominal Code所在的单元格范围(比如A3:A20)
  • Lookup表的代码区域:替换为Lookup table中代码列表所在的单元格范围(比如I4:I18)

针对旧版Excel(不支持动态数组)

在单元格I24输入以下公式,按Ctrl+Shift+Enter确认数组公式,然后下拉填充至I44:

=INDEX(A3:A20, SMALL(IF(ISNUMBER(MATCH(A3:A20, I4:I18, 0)), ROW(A3:A20)-ROW(A3)+1), ROW(A1)))

公式逻辑:

  1. MATCH(A3:A20, I4:I18, 0):检查Entry表的每个Nominal Code是否存在于Lookup表中
  2. ISNUMBER(...):将匹配成功的结果转为TRUE,失败转为FALSE
  3. IF(...):仅保留匹配成功的单元格行号偏移量(相对于A3的行号)
  4. SMALL(..., ROW(A1)):依次提取第1、2、3...个匹配的行号偏移量
  5. INDEX(...):根据偏移量返回对应的Nominal Code

你现有公式的问题

你当前使用的=INDEX(A3:A20,MATCH(I4:I18,I4:I18,0),0)仅能返回Lookup表中每个代码自身第一次出现的位置,没有关联Entry表的匹配逻辑,因此无法批量获取跨表的多实例匹配结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:55:04