如何匹配两列ID值并对齐显示,缺失ID对应列留空?
两列ID匹配对齐的实现方法
公式法(适用于Excel 365/Google Sheets)
- 生成唯一ID列表:在空白列(比如C列)输入公式,合并两列ID并去重,得到所有出现过的ID:
下拉公式直到出现空白,即可得到完整的唯一ID列表。=UNIQUE(VSTACK(A:A,B:B)) - 匹配原列ID:
- 在D列输入公式,匹配A列的ID,无匹配则留空:
=IFERROR(XLOOKUP(C2,A:A,A:A,""),"") - 在E列输入公式,匹配B列的ID,无匹配则留空:
=IFERROR(XLOOKUP(C2,B:B,B:B,""),"")
- 在D列输入公式,匹配A列的ID,无匹配则留空:
公式法(适用于旧版Excel)
如果没有UNIQUE和XLOOKUP函数,按以下步骤操作:
- 生成唯一ID列表:在C2单元格输入数组公式(输入后按
Ctrl+Shift+Enter确认),下拉直到出现错误值后停止:
注意把=INDEX($A$1:$B$100,MIN(IF(COUNTIF($C$1:C1,$A$1:$B$100)=0,ROW($A$1:$B$100),"")))$A$1:$B$100替换成你实际的数据范围。 - 匹配原列ID:
- D列公式:
=IFERROR(VLOOKUP(C2,A:A,1,FALSE),"") - E列公式:
=IFERROR(VLOOKUP(C2,B:B,1,FALSE),"")
- D列公式:
简便工具法(Excel Power Query)
数据量较大时,用Power Query更高效:
- 选中两列ID的数据区域,点击「数据」选项卡→「从表格/区域」(弹出对话框时勾选「我的表格有标题」)。
- 在Power Query编辑器中,点击「转换」选项卡→「逆透视列」→选择两列后点击「逆透视其他列」,删除生成的「属性」列,再点击「值」列→「删除重复项」,得到唯一ID列表。
- 点击「开始」选项卡→「合并查询」→「合并查询作为新查询」,将唯一ID列表作为左表,原A列数据作为右表,匹配列选「值」和对应表头,连接类型选「左外部」,展开右表的ID列;重复此步骤连接B列数据。
- 调整列顺序后,点击「关闭并上载」,即可得到匹配对齐后的表格。
内容的提问来源于stack exchange,提问作者Anthony Lopez
相关产品推荐
相关产品推荐

