Google Sheets:将键值与两列比对,返回不匹配值
解决方案
方法1:Excel公式实现
在Missing Value列的第一个单元格(比如D2)输入以下公式,然后下拉填充即可:
=TEXTJOIN(", ", TRUE, IF(A2<>B2, B2, ""), IF(A2<>C2, C2, ""))
- 逻辑说明:分别比对
Column A、Column B与Key Value的值,把不匹配的内容筛选出来,用,拼接成字符串;TRUE参数会自动忽略空值,避免出现多余分隔符。 - 注意:旧版Excel输入公式后需按
Ctrl+Shift+Enter触发数组运算;新版Excel直接回车即可。
方法2:Python(Pandas)实现
如果需要批量处理大量数据,用代码更高效:
import pandas as pd # 构造示例数据(实际可替换为pd.read_csv/pd.read_excel读取本地文件) df = pd.DataFrame({ "Key Value": ["Smith, D", "Todd, L"], "Column A": ["Jones, E", "Todd, L"], "Column B": ["Smith, D", "Booth, R"] }) # 定义处理每行的函数 def extract_missing(row): missing = [] if row["Column A"] != row["Key Value"]: missing.append(row["Column A"]) if row["Column B"] != row["Key Value"]: missing.append(row["Column B"]) return ", ".join(missing) # 生成Missing Value列 df["Missing Value"] = df.apply(extract_missing, axis=1) # 输出结果 print(df)
运行后会直接生成包含Missing Value列的完整数据框,结果与示例完全一致。
内容的提问来源于stack exchange,提问作者Frank Furter
相关产品推荐
相关产品推荐

