Excel对比两列唯一ID,提取对应名称的新增条目优化方案
简洁实现两个列表的新增条目对比
场景1:Excel/Google Sheets(无代码方案)
直接用函数一键提取新增条目,无需手动调整范围,自动适配列表长度:
- 提取Sheet2相对Sheet1的新增条目:
在空白单元格输入:
公式逻辑:用=FILTER(Sheet2!A:B, ISNA(XLOOKUP(Sheet2!A:A, Sheet1!A:A, Sheet1!A:A)))XLOOKUP匹配Sheet2的ID在Sheet1中是否存在,ISNA标记不存在的ID,最后FILTER提取对应的ID和Name列。 - 反过来提取Sheet1相对Sheet2的新增条目,只需调换Sheet1和Sheet2的位置即可。
场景2:Python(编程方案)
用pandas库可以一行核心代码搞定,完全自动处理列表长度和ID随机位置:
import pandas as pd # 假设df1、df2是你的两个数据列表(DataFrame格式,列名为ID、Name) # 提取df2中ID不存在于df1的新增条目 new_entries = df2[~df2['ID'].isin(df1['ID'])] # 如果需要更清晰的对比结果(显示匹配情况),可以用merge: new_entries = pd.merge(df2, df1, on='ID', how='left') new_entries = new_entries[new_entries['Name_y'].isna()][['ID', 'Name_x']].rename(columns={'Name_x': 'Name'})
运行后new_entries就是你要的新增条目数据集,不管列表有多少行、ID在什么位置都能准确匹配。
内容的提问来源于stack exchange,提问作者Katramis
相关产品推荐
相关产品推荐

