Excel 文件经常被用来存放各种列表数据。无论是管理客户/公司名单,还是清理产品目录,Microsoft Excel 都是一款上手很快的表格工具。但跟所有 spreadsheet 工具一样,Excel 很难从源头设置严格的数据约束来“禁止重复”。当多人同时维护同一个 Excel,或者数据经常被追加导入时,出现重复值的概率就会明显上升。
好消息是:即使重复已经发生,你也可以在后期对数据进行处理——删除重复或把重复合并成一条。
用 Excel 去“删除重复项”很简单(菜单“数据”->“删除重复项”),但要在不丢失信息的前提下把重复行合并,就没那么顺手了。真正理想的合并方式是:
- 把“相同”的行去重掉
- 把“互补”的行合并成一条(比如一行只有姓名,另一行只有职位)
- 遇到“冲突”的值(同一字段不同内容)要标记出来,留给人工决策
Datablist 是一款易用的在线数据处理工具,特别适合用来在 Excel 文件里查找并合并重复值。Datablist 的 Duplicates Finder 可以自动识别并合并互补的重复项;遇到有冲突的记录会先跳过,方便你后续手动处理。你甚至可以不注册,直接免费在线使用 Datablist。
为什么不直接用 Excel 合并重复?
Microsoft Excel 的确很强大,也提供了“删除重复项”。但它的逻辑是:保留第一条“匹配”的行,把其余重复行直接删掉。这样一来,如果两行信息是互补的,就会造成数据丢失。 合并重复本不该这么麻烦。Spreadsheet 工具很通用,但并不是为数据清洗和结构化数据处理而生。Datablist 专注于结构化列表数据,提供更顺手、更专业的数据处理能力。
下面这份指南会带你一步步在不丢失信息的情况下,从 Excel 文件中找出并合并重复数据。
为了便于演示,我们会用一个包含联系人数据的 Excel 文件,字段有 4 个:First Name、Last Name、Email、Job Title,并基于 email 地址来查找和合并所有重复联系人。
整个流程可以概括为以下步骤:
Step 1: 导入 Excel 文件
第一步是把 Excel 文件导入到 Datablist。你需要先创建一个 collection,用来承载你的 Excel 列表数据。然后使用 “Import CSV/Excel” 向导把文件加载进来。
创建 Properties 并映射到 Excel 列
Datablist 的 collection 类似 spreadsheet,但它有更明确的数据结构。在 Datablist 里,表格的列叫做 “Properties”。比如当某个 property 定义为 Email 时,Datablist 会确保这里填入的是有效的邮箱格式。日期、checkbox 等类型也是同样的逻辑。
Excel 文件导入后,你需要选择要导入哪些列,并把它们映射到已有的 collection property,或者新建对应的 properties。
Datablist 会分析前几行数据,自动识别常见数据类型(通过模式识别)。
重要
- 含公式(formula)的单元格会在导入时计算结果。
- 你的数据必须放在文件的第一个 worksheet 中。
如果你的数据分散在不同 worksheet 或多个文件里,建议把它们都导入到同一个 Datablist collection,并且统一映射到相同的 properties。
Step 2: 在 Excel 数据中查找重复项
现在 Excel 数据已经导入完成,接下来就可以用 Datablist 的 Duplicates Finder 来查找并合并重复项。
在 collection 的数据列表中,点击右上角 “Clean” 菜单里的 “Duplicates Finder”。
这里有两种模式可选:
- All Properties - 该模式会基于所有 properties 来判断相似:只有当两条记录的所有字段都一致,才会被认为是重复。
- Selected Properties - 该模式由你选择用于判重的 properties:当两条记录在所选字段上都相同/相似时,就会被认为是重复。
在本例中,email 这个 property 已足够唯一标识一个联系人,因此你可以选择 Selected Properties 模式,并选中 email。
重复分析是 non-destructive(非破坏性)的。只要你还没有选择自动合并或手动合并,原始数据不会被修改。
Step 3: 自动合并重复行
当所有重复行都被列出来之后,就可以开始合并了。整个合并流程分两步:
- 先用 Datablist 的 “smart merge” 功能,在可合并时自动合并行
- 然后对剩余的重复项使用手动 “Merging Assistant”
相同或互补的信息会被合并成一个 item。比如:
email | First Name | Last Name
james@gmail.com | James
james@gmail.com | | Bond
会被合并为:
email | First Name | Last Name
james@gmail.com | James | Bond
另外还有第二种合并选项:把冲突值“合并到同一个字段里”,从而实现重复行的 consolidation。 不同的值会使用你指定的 delimiter 分隔。
例如:
email | Notes | Phone
james@gmail.com | Met during an event | 0 493 492 334
james@gmail.com | To be contacted | 06 67 23 42 23
当 Notes 选择用 semi-colon 合并,Phone 选择用 Comma 合并后,会变成:
email | Notes | Phone
james@gmail.com | Met during an event;To be contacted | 0 493 492 334,06 67 23 42 23
有了这个 combining 选项,你就能在不丢信息的前提下,把成千上万行包含重复的列表快速 consolidate。用它来自动清理你的 contacts、leads、companies 列表,会非常省时间。
Step 4: 手动合并有冲突的重复项
自动合并非常适合做“体力活”。如果跑完自动合并后还有重复项残留,通常意味着它们存在冲突(conflicting)。冲突指的是:至少有两条记录在某个 property 上的值不同。要合并这类重复项,你需要选择到底保留哪个值。
你可以直接在列表里编辑这些 items,或者启动 Datablist 的 Merging assistant。该 assistant 会先根据“哪条记录信息最完整”来选出 primary item。随后你可以从其它记录中挑选每个 property 的值,合并到 primary item 上。流程结束后,除了 primary item,其余 items 会被删除。
导出为 CSV 或 Excel 格式
做得好!你的数据已经去重完成了!
如果你要把这个 collection 导出给其他应用使用,在 collection 顶部点击 “Export”,然后选择 CSV 或 Microsoft Excel。






