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

如何在Google Sheets中基于唯一ID和物品类型对比两个多行列的人员列表

如何在Google Sheets中基于唯一ID和物品类型对比两个多行列的人员列表

嗨,我完全懂你的需求啦——你要在Google Sheets里,针对每个带唯一供应商ID的人员,匹配他们对应的物品类型,然后对比「预期数量」和「实际售出数量」,自动生成“WENT OVER?”列的结果,而且不想用脚本对吧?这事儿完全可以用函数搞定,我给你分步讲清楚:

核心思路

我们需要双重条件匹配:同时用「供应商ID(VENDOR ID #)」和「物品类型」(预期表的ITEMS EXPECTED、售出表的ITEMS SOLD)作为匹配依据,找到对应人员对应物品的预期数量,再和售出数量做对比。

方法1:用XLOOKUP(最直观)

假设你的预期数据存在Sheet1(列A-F:NAME到AMOUNT EXPECTED),售出数据存在Sheet2(列A-G:NAME到WENT OVER?),在Sheet2的第一个“WENT OVER?”单元格(比如G2)输入下面的公式:

=LET(
  expected_amount, XLOOKUP(B2&E2, Sheet1!$B:$B&Sheet1!$E:$E, Sheet1!$F:$F, "No match"),
  IF(expected_amount="No match", "Missing expected item",
    IF(F2=expected_amount, "OK!",
      IF(F2>expected_amount, "+"&(F2-expected_amount), (F2-expected_amount))
    )
  )
)

公式解释:

  • LET函数帮我们给匹配到的预期数量起个变量名expected_amount,让公式更易读;
  • XLOOKUP(B2&E2, Sheet1!$B:$B&Sheet1!$E:$E, Sheet1!$F:$F, "No match"):把当前行的供应商ID(B2)和物品类型(E2)拼接成唯一关键词,去Sheet1里找相同的关键词组合,返回对应的预期数量;如果找不到匹配,就显示No match;
  • 后续的IF嵌套逻辑:
    • 找不到匹配时,说明这个售出物品不在预期列表里,显示Missing expected item;
    • 售出数量等于预期时,显示OK!;
    • 售出数量多于预期时,显示带+的差值;少于预期时,直接显示负差值。

方法2:用INDEX+MATCH(经典多条件匹配)

如果你习惯用经典函数组合,也可以用这个公式,逻辑和上面一致:

=LET(
  expected_amount, INDEX(Sheet1!$F:$F, MATCH(B2&E2, Sheet1!$B:$B&Sheet1!$E:$E, 0)),
  IF(ISERROR(expected_amount), "Missing expected item",
    IF(F2=expected_amount, "OK!",
      IF(F2>expected_amount, "+"&(F2-expected_amount), (F2-expected_amount))
    )
  )
)

公式解释:

  • MATCH(B2&E2, Sheet1!$B:$B&Sheet1!$E:$E, 0):找到拼接后的关键词在Sheet1里的行号;
  • INDEX(Sheet1!$F:$F, ...):根据行号取出对应的预期数量;
  • ISERROR用来判断是否匹配成功,后续逻辑和方法1一致。

注意事项

  • 确保两个表中的「供应商ID」格式完全一致(比如不要一个是数字、一个是文本,也不要有多余空格),如果有格式问题,可以用TEXT(B2, "0")把ID转成统一格式后再拼接;
  • 物品类型的拼写必须完全相同(比如你例子里的Accessories,不要出现拼写错误),否则会匹配失败;
  • 公式输入完成后,下拉填充到所有行即可自动生成所有对比结果。

备注:内容来源于stack exchange,提问作者DND

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 13:23:10