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

Excel 365多重复值Lookup查询问题(非VBA实现)

无需VBA的多实例Lookup解决方案(Excel 365)

假设你的源数据在Sheet1,结构为:

  • A列:Vessel(船舶名称)
  • B列:Rank(职级)
  • C列:Value(对应数值)

汇总表在Sheet2,A列为唯一船舶列表,后续列分别对应各职级的第N个数值(如B列=OS1,C列=OS2,D列=OLR1等),可以用以下方法实现:

方法1:指定提取第N个实例(适合固定数量的实例)

在Sheet2的B2单元格(提取第一个OS的数值)输入公式:

=IFERROR(INDEX(FILTER(Sheet1!$C:$C,(Sheet1!$A:$A=$A2)*(Sheet1!$B:$B="OS")),1),"")

将公式向右复制到C2(提取第二个OS),只需把公式中的1改为2:

=IFERROR(INDEX(FILTER(Sheet1!$C:$C,(Sheet1!$A:$A=$A2)*(Sheet1!$B:$B="OS")),2),"")

同理,提取OLR的第N个值,把"OS"替换为"OLR"即可。

方法2:动态横向溢出所有实例(适合不确定实例数量)

Excel 365的动态数组功能可以一次性生成所有对应值并横向填充,在Sheet2的B2单元格输入公式:

=TOROW(FILTER(Sheet1!$C:$C,(Sheet1!$A:$A=$A2)*(Sheet1!$B:$B="OS")),,TRUE)

公式会自动将该船舶下所有OS的数值横向溢出到右侧单元格,无需逐个手动调整。

补充技巧

  • 自动生成唯一船舶列表:在Sheet2的A2单元格输入=UNIQUE(Sheet1!$A:$A),自动溢出所有不重复的船舶名称。
  • 处理空格问题:如果源数据存在多余空格,可在公式中加入TRIM函数,比如将Sheet1!$A:$A替换为TRIM(Sheet1!$A:$A),避免筛选失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:32:15