Web Tidy
博客

如何给 Instagram Follower 列表去重并保留来源信息

建立 ID 优先、username 回退的键,标记重复行并保留来源信息,避免清理 Instagram 粉丝文件时发生错误合并。

2026年8月30日Instagram
本文目录

合并 Instagram Followers 或 Following 文件时,请保留原始文件,并在工作副本中建立 ID 优先的键。有 id 时就使用 ID;只有缺失 ID 时,才回退到去掉首个 @、清除首尾空格并转成小写的 username。

然后用 COUNTIF 标记首次出现和重复出现,审查冲突,并且只在保留来源信息后才删除重复行。

Web Tidy 默认已经在单次任务中按 id 去重。本工作流主要用于合并不同日期、来源主页或工具的导出文件。

先定义什么是“重复”

目标需要保留的来源信息
一个文件内每个账号只保留一行accountKey原始文件、行号和采集时间
跨来源建立账号级并集accountKey每个来源主页、audience 和观察时间
只在每个来源内部去重sourceProfile + audience + accountKey分开的来源级观察
比较两个日期先在每个快照内去重日期、终态、confirmed 行和行数上限

本页只处理数据清洗,不计算非互关、取关变化或共同粉丝。这些是清洗完成后的独立比较任务。

为什么 full name 和 profile URL 不适合作为键

  • fullName 不唯一。
  • profileUrl 通常包含 username,username 改变时它也会改变。
  • username 可读但可变,因此只能作为回退键。
  • id 是首选匹配键,但必须先将长数字 ID 按文本导入,以免表格软件丢失精度。

Web Tidy 的 14 列输出中,A 列是 id,C 列是 username,J 列是 audience,K 列是 sourceProfile,M 列是 collectedAt,N 列是 rowIndex。以下公式使用 O 列存放 accountKey,P 列存放审查状态。

第 1 步:保留 Raw,创建 Working 副本

不要直接编辑下载的 CSV/XLSX 文件。把每个文件复制到 Raw_* 工作表,并在 Working 中追加数据行。加入来源文件名、来源工作表和原始行号,确保每个保留行都可以回溯。

第 2 步:将 ID 按文本导入

导入 CSV 时,把 A 列设置为文本。如果 ID 已经显示成科学计数法,之后再更改单元格格式未必能恢复丢失的数字。请从原始文件重新导入。

第 3 步:创建 ID 优先的 accountKey

在 O2 中输入:

=IF(A2<>"","id:"&A2,"user:"&LOWER(IF(LEFT(TRIM(C2),1)="@",MID(TRIM(C2),2,99),TRIM(C2))))

A2 有值时,该公式生成 id:<id>;否则,它会清除 C2 的首尾空格、移除一个开头的 @、把 username 转成小写,并生成 user:<username>

如果 ID 和 username 都为空,请将该行标记为 Missing key,不要把所有空键合并成一个假定的账号。

第 4 步:标记首次出现和重复出现

在 P2 中输入:

=IF(OR(A2<>"",C2<>""),IF(COUNTIF($O$2:O2,O2)=1,"Keep first","Review duplicate"),"Missing key")

如需统计一个键的全部出现次数,请在 Q2 中输入:

=COUNTIF($O:$O,O2)

向下填充公式,并在删除任何内容前筛选 Review duplicate。Microsoft 建议先复制原始范围,并在永久删除前检查唯一值和重复值。

来源:Microsoft 支持 — 筛选或删除重复值以及统计某个值的出现次数

第 5 步:删除前审查冲突

对于每个重复键,请检查:

  • ID 是否完全相同;
  • 不同 username 是否是同一个 ID 在不同时点的观察值;
  • 哪些 sourceProfileaudiencecollectedAt 值需要保留;
  • 哪一行的可选字段更完整;
  • 哪些冲突需要人工审查。

审查后,在工作副本中使用 Data → Remove Duplicates,并且只选择 accountKey 列。如果需要保留最新观察值,请先按 collectedAt 排序并记录这条规则。

XLOOKUP 可以把保留键映射回原始行,并返回该行的字段。Microsoft 文档说明它默认使用精确匹配,但 Excel 2016 和 Excel 2019 不提供 XLOOKUP,因此本工作流不强制使用它。

来源:Microsoft 支持 — XLOOKUP

第 6 步:在不同来源间保留同一账号的重复出现

如果只想在每个来源主页和 audience 方向内去重,请创建一个范围键:

=LOWER(TRIM(K2))&"|"&LOWER(TRIM(J2))&"|"&O2

同一账号出现在不同来源主页,或同时出现在 Followers 与 Following 中时,会保留为不同行。这符合来源级观察的需求,但不适合计算全局唯一账号数。

核对行数

删除前请记录:

rawRows = keptRows + duplicateRows + missingKeyRows

删除后,人工抽查 5–10 个重复组,并确认:

  1. 长 ID 没有被截断。
  2. 同一 ID 的不同 username 没有被拆成两个账号。
  3. 不同 ID 的同一 username 没有被静默合并。
  4. 所需来源和时间信息已转移到汇总表或来源信息表。
  5. 原始文件仍未修改。

误判与错误合并边界

  • **ID 缺失:**username 回退键可以统一格式,但不能证明跨时间的两行属于同一账号。
  • **Username 改名:**同一 ID 的不同 username 应使用同一个键,但显示值仍需遵循有记录的时间策略。
  • **Username 重用:**不同时点的相同 username 可能并不代表同一账号。
  • **不同 ID、相同 username:**保留两行并审查,不要自动合并。
  • **跨来源出现:**一个账号出现在两个主页的 Followers 列表中不是错误。是否合并取决于你需要账号级并集还是来源级分析。
  • **有界输入:**100、200、500 或 1,000 行上限以及 partial 任务都会限制覆盖范围。去重无法把有界子集变成完整列表。
  • **权限:**出现在粉丝文件中不能证明身份、兴趣、营销同意或联系许可。

常见问题

为什么 ID 比 username 优先?

ID 是更稳定的匹配键,而 username 可以改变。请把长 ID 按文本导入,避免表格软件先破坏这个键。

单次 Web Tidy 导出还需要再去重吗?

产品默认按 id 去重。这个表格工作流用于合并多个文件、日期或来源。

可以只按 username 去重吗?

只有在 ID 缺失时才把 username 作为回退键,并将结果标记为较低置信度。

去重能识别取关者吗?

不能。历史变化需要两个可比的 Followers 快照,并且要单独审查覆盖范围。

用清洗后的数据进行正确的比较

打开 Instagram Follower Exporter