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

如何按不同ID号筛选唯一值并关联对应PO#/MP#?

解决Google Sheets跨表筛选唯一PO#并对齐ID的问题

问题分析

你的需求是:在目标表中,仅显示SHEET1里**首次出现的唯一PO#**及其对应的MP#,与目标表的ID对齐;重复PO#对应的ID行留空,最后通过筛选视图隐藏空白行。

你之前的公式错误在于:FILTER('SHEET1'!A5:H,UNIQUE('SHEET1'!G5:G)) 并没有过滤掉重复PO#的行——UNIQUE(G列) 返回的是所有不重复的PO值,原表中每个PO值对应的所有行都会被保留,因此VLOOKUP依然会返回所有匹配结果,无法实现“重复值行留空”的效果。

解决方案

在目标表的B4单元格(假设PO#列从B4开始,MP#列从C4开始)输入以下公式:

={"PO#","MP#";ARRAYFORMULA(
  LET(
    target_ids, A4:A,
    sheet1_data, 'SHEET1'!A5:H,
    po_vals, VLOOKUP(target_ids, sheet1_data, 7, 0),
    mp_vals, VLOOKUP(target_ids, sheet1_data, 8, 0),
    first_po_row, MATCH(po_vals, 'SHEET1'!G5:G, 0),
    id_match_row, XMATCH(target_ids, 'SHEET1'!A5:A, 0),
    is_first_occur, IFERROR(first_po_row = id_match_row, FALSE),
    IF(is_first_occur, {po_vals, mp_vals}, {"", ""})
  )
)}

公式说明:

  1. LET函数:简化变量定义,让公式逻辑更清晰。
  2. MATCH(po_vals, 'SHEET1'!G5:G, 0):定位每个PO#在SHEET1中第一次出现的行号。
  3. XMATCH(target_ids, 'SHEET1'!A5:A, 0):找到目标表ID在SHEET1中对应的行号。
  4. is_first_occur:对比两个行号,判断当前ID对应的行是否是该PO#的首次出现行。
  5. 最终IF判断:仅在首次出现PO#的行显示对应值,其余行返回空白。

后续操作:隐藏空白行

公式生效后,选中PO#和MP#列 → 点击菜单栏「数据」→「创建筛选视图」→ 点击列标题的筛选按钮 → 取消勾选「空白」→ 确定即可隐藏所有重复PO#对应的空白行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:25:26