Excel 365如何将两工作表不同列的唯一值合并输出到另一工作表单列
Excel 365 跨表合并指定列去重值操作方法
最优方案:单公式直接输出(无需中间辅助列)
你不需要先把两个表的唯一值分别存到C、D列,直接在「UNIQUE」工作表的目标起始单元格(比如A1)输入以下公式即可:
=UNIQUE(VSTACK(IN_TABLE[PRODUCT ID], OUT_TABLE[PRODUCT ID]))
按下回车后,所有去重后的PRODUCT ID会自动向下溢出填充。
公式说明
VSTACK:将两个指定的单列区域垂直拼接为一个连续的单列,替代Google Sheets中需要先转存两列再用FLATTEN的操作UNIQUE:对拼接完成的整列内容自动去重,返回所有唯一值- 这里使用的是Excel结构化表引用,只要你提前将两个表命名为
IN_TABLE、OUT_TABLE,引用会自动匹配对应列,后续表格新增行数据也会自动被公式纳入计算,不需要手动修改区域范围。
替代方案:无VSTACK版本兼容
如果你的Excel 365版本尚未更新支持VSTACK函数,可以用以下公式实现相同效果:
=UNIQUE(TOCOL({IN_TABLE[PRODUCT ID]; OUT_TABLE[PRODUCT ID]},1))
其中TOCOL的第二个参数设为1会自动跳过拼接后的空单元格,避免结果中出现空白项。
保留中间辅助列的实现逻辑
如果你希望和Google Sheets的操作逻辑一致,先把两个表的唯一值分别存在UNIQUE表的C、D列,可以按以下步骤操作:
- C列起始单元格输入:
=UNIQUE(IN_TABLE[PRODUCT ID]) - D列起始单元格输入:
=UNIQUE(OUT_TABLE[PRODUCT ID]) - 输出列起始单元格输入:
=UNIQUE(TOCOL(C:D,1))
内容的提问来源于stack exchange,提问作者D41V30N
相关产品推荐
相关产品推荐

