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

如何匹配两列表日期并计算NG rate×Weight结果至Approved列?

解决方案:匹配日期并计算Approved列值

先排查VLOOKUP失败的常见原因

  • 未使用精确匹配:VLOOKUP第四个参数默认是TRUE(近似匹配),必须设为FALSE才能准确匹配唯一日期
  • 查找区域结构错误:VLOOKUP要求查找值(日期)位于数据区域的第一列
  • 日期格式不统一:两列表的日期一个是文本型、一个是数值型,导致匹配失败

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

假设List1的结构:A列=Date,B列=NG rate,C列=Weight;List2的A列=Date,需在D列填充Approved值。

在List2的D2单元格输入公式,下拉填充:

=IFERROR(INDEX(List1!$B:$B,MATCH(List2!$A2,List1!$A:$A,0))*INDEX(List1!$C:$C,MATCH(List2!$A2,List1!$A:$A,0)),"无匹配日期")
  • MATCH(List2!$A2,List1!$A:$A,0):找到List1中与当前日期完全匹配的行号
  • INDEX:根据行号分别取出对应的NG rate和Weight,相乘得到结果
  • IFERROR:避免无匹配时出现#N/A错误,返回自定义提示文本

方法2:XLOOKUP(适用于Excel 365/2021及以上版本)

公式更简洁,支持直接匹配多列数据:

=IFERROR(PRODUCT(XLOOKUP(List2!$A2,List1!$A:$A,List1!$B:$C)),"无匹配日期")
  • XLOOKUP:根据日期一次性返回对应的NG rate和Weight
  • PRODUCT:计算两个值的乘积
  • 同样用IFERROR处理无匹配的情况

方法3:修正VLOOKUP公式(如果坚持使用)

调整参数确保精确匹配,同时正确指定返回列:

=IFERROR(VLOOKUP(List2!$A2,List1!$A:$C,2,FALSE)*VLOOKUP(List2!$A2,List1!$A:$C,3,FALSE),"无匹配日期")
  • 第三个参数2对应List1中NG rate所在的列(A列为第1列,B列为第2列),3对应Weight所在列
  • 第四个参数FALSE强制精确匹配
  • 若日期格式不统一,可先将List2的日期转换为数值型:=VLOOKUP(VALUE(List2!$A2),List1!$A:$C,2,FALSE)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:22:17