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

如何结合条件语句与VLOOKUP按序列提取SKU对应的UPC及日期?

解决方案:多条件匹配提取重复SKU的对应数据

问题分析

你之前的公式核心问题是逻辑不成立:IF([file name.xlsx]filename!$D:$D=1, VLOOKUP(...)) 试图用整列条件判断配合VLOOKUP,但VLOOKUP无法同时关联「SKU匹配」和「D列序号=N」两个条件,只会返回第一个匹配SKU的结果,自然达不到按序号提取的要求。

正确公式写法

假设:

  • 源数据存于[file name.xlsx]filename工作表:列A=SKU,列B=UPC,列C=最后使用日期,列D=SKU出现序号(1、2、3...)
  • 目标表中,当前行匹配的SKU在G2单元格,要提取序号=1的UPC到H2(UPC1)、序号=1的日期到I2(LastUse1)

方法1:INDEX+MATCH(兼容所有Excel版本)

提取UPC1(序号=1):

=INDEX([file name.xlsx]filename!$B:$B, MATCH(1, ([file name.xlsx]filename!$A:$A=$G2)*([file name.xlsx]filename!$D:$D=1), 0))

提取LastUse1(序号=1):

=INDEX([file name.xlsx]filename!$C:$C, MATCH(1, ([file name.xlsx]filename!$A:$A=$G2)*([file name.xlsx]filename!$D:$D=1), 0))

注意:Excel 2019及更早版本需按Ctrl+Shift+Enter以数组公式执行;365/2021版本直接回车即可。如需提取序号=2的UPC(UPC2),仅需把公式中的=1改为=2。

方法2:XLOOKUP(仅Excel 365/2021及以后版本)

XLOOKUP支持多条件匹配,写法更简洁,还可自定义无匹配时的返回值:
提取UPC1:

=XLOOKUP(1, ([file name.xlsx]filename!$A:$A=$G2)*([file name.xlsx]filename!$D:$D=1), [file name.xlsx]filename!$B:$B, "无数据")

提取LastUse1:

=XLOOKUP(1, ([file name.xlsx]filename!$A:$A=$G2)*([file name.xlsx]filename!$D:$D=1), [file name.xlsx]filename!$C:$C, "无数据")

优化建议

  • 避免整列引用(如$A:$A),替换为实际数据范围(如$A$2:$A$1000),可大幅提升公式计算速度
  • 确认D列序号是用COUNTIF($A$2:$A2, $A2)这类公式生成的连续分组编号,避免序号混乱导致匹配错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:13:15