excel 数据要同时完成合并、拆分和去重,先把原始列整理成可计算的区域,再按“拆分字段、提取唯一值、按唯一值合并明细”的顺序写公式。常用组合是 textsplit 负责拆开文本,unique 负责去重,textjoin 负责把同组结果重新合并,数据量不大时一套公式就能完成。

如果数据像图中的英文姓名一样挤在一个单元格里,先用 TEXTSPLIT 拆字段。例如 A1 单元格是“Florence Nightingale”,可以在 B1 输入 =TEXTSPLIT(A1," "),回车后名字和姓氏会横向溢出到相邻单元格。批量处理时,把公式向下填充,再把拆出的列作为后续去重和汇总的数据源。

拆分后的数据要去重,优先处理“唯一键”。如果只按姓名去重,同名记录可能会被合并;如果要保留编号、部门或地区差异,可以把关键字段拼成辅助键,再用 UNIQUE 提取唯一值。公式可以写成 =UNIQUE(B2:B100&C2:C100),需要直接返回多列时,也可以对拆分后的结果区域使用 =UNIQUE(B2:D100)。

合并同类明细时,用 TEXTJOIN 和 UNIQUE 组合更省事。比如 A 列是编号,B 列是姓名,要把每个编号对应的姓名合并到一格,可先在 D2 提取编号唯一值,再在 E2 输入 =TEXTJOIN(",",TRUE,UNIQUE(FILTER($B:$B,$A:$A=D2)))。这里 FILTER 先筛出同一编号的姓名,UNIQUE 去掉重复姓名,TEXTJOIN 再用逗号连接。
本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看

老版本 Excel 如果没有 TEXTSPLIT 或 FILTER,可以换成“数据”选项卡里的“分列”先拆字段,再用“删除重复项”生成唯一清单,最后用数据透视表或辅助列合并明细。公式版适合数据会持续更新的表;菜单版适合一次性清洗,做完后要把结果复制为值,避免原始列被改动后结果跟着变化。
实际表格里最容易出错的是空格和分隔符。拆分前先用 TRIM 清理多余空格,同一列里不要混用不同分隔符;去重前确认唯一键包含了足够字段;合并结果出现空项时,检查 TEXTJOIN 的第二个参数是否为 TRUE。公式跑通后,随机挑几条原始记录回看,能在结果表里找到对应项,就可以把这套公式复制到正式数据表。










