如何输出行数不同的两列数据间的差异?银行账户ID场景问询
账户ID差异统计方案
针对每日账户ID的新增/注销统计需求,这里提供两种实用的实现方法:
方法一:用Excel/Google Sheets手动统计
适合小批量数据快速处理:
- 标记注销账户:在Day1的ID列表右侧插入一列,输入公式
=COUNTIF(Day2的ID区域, 当前单元格)(比如Day2的ID在C2:C5,当前单元格是A2,公式就是=COUNTIF($C$2:$C$5, A2)),下拉填充所有Day1的ID行。结果为0的ID就是已注销账户(Day1存在但Day2消失),对应示例中的300、301、303。 - 标记新增账户:在Day2的ID列表右侧插入一列,输入公式
=COUNTIF(Day1的ID区域, 当前单元格)(比如Day1的ID在A2:A7,当前单元格是C2,公式就是=COUNTIF($A$2:$A$7, C2)),下拉填充所有Day2的ID行。结果为0的ID就是新增账户(Day2新增但Day1没有),对应示例中的306。 - 筛选出结果为0的行,整理成清晰的差异报告即可。
方法二:用Python脚本自动统计
适合每日批量自动化处理,效率更高:
利用集合的差集特性可以快速计算差异,代码示例如下:
# 定义两日的账户ID集合 day1_ids = {300, 301, 302, 303, 304, 305} day2_ids = {302, 304, 305, 306} # 计算注销和新增账户 closed_accounts = sorted(day1_ids - day2_ids) new_accounts = sorted(day2_ids - day1_ids) # 生成差异报告 print("=== 账户每日差异报告 ===") print(f"当日注销账户ID:{closed_accounts}") print(f"当日新增账户ID:{new_accounts}")
运行后会直接输出:
=== 账户每日差异报告 === 当日注销账户ID:[300, 301, 303] 当日新增账户ID:[306]
如果需要读取文件中的ID列表,只需把集合替换为从文件读取的内容即可,适合每日自动执行脚本生成报告。
内容的提问来源于stack exchange,提问作者yeeyeeliveaction
相关产品推荐
相关产品推荐

