You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中基于派生数据去重并实现跨表统一排序?

问题描述
  • 将Google表单关联至表格,响应数据按类别筛选至不同工作表
  • 筛选时将表单提交时间转换为仅日期(不含时分秒),用UNIQUE()确保同一链接单日多次提交仅显示1条,不同日期可重复显示
  • 分表作为审核表,通过数组{}将5个表的数据合并至另一工作表,再用另一表格通过IMPORTRANGE()展示合并表数据
  • 现状:各表可单独按最新日期(末行在上)排序,但无法实现跨表整体按最新日期排序;保留原始时间戳会导致单日重复数据,完全去重不可行,求解决建议

原始表单响应数据

Links1_SubmittedLinks1_LinkLinks2_SubmittedLinks2_LinkLinks3_SubmittedLinks3_Link
9/26/2022 12:00:00Links1_Link19/26/2022 12:05:00Links2_Link19/26/2022 12:10:00Links3_Link1
9/26/2022 12:45:00Links1_Link29/26/2022 12:15:00Links2_Link29/26/2022 12:20:00Links3_Link2
9/26/2022 12:55:00Links1_Link39/26/2022 12:35:00Links2_Link39/26/2022 12:25:00Links3_Link3
9/26/2022 12:50:00Links2_Link49/26/2022 12:30:00Links3_Link4
9/26/2022 12:40:00Links3_Link5
9/26/2022 12:41:00Links3_Link5

各分表处理公式及结果

Links1分表

公式:=UNIQUE({ARRAYFORMULA(TO_DATE(DATEVALUE(A2:A4))), B2:B4})
结果:

StatusSubmittedLink
Status19/26/2022Links1_Link1
Status29/26/2022Links1_Link2
Status19/26/2022Links1_Link3

Links2分表

公式:=UNIQUE({ARRAYFORMULA(TO_DATE(DATEVALUE(C2:C5))), D2:D5})
结果:

StatusSubmittedLink
Status19/26/2022Links2_Link1
Status29/26/2022Links2_Link2
Status19/26/2022Links2_Link3
Status29/26/2022Links2_Link4

Links3分表

公式:=UNIQUE({ARRAYFORMULA(TO_DATE(DATEVALUE(E2:E7))), F2:F7})
结果:

StatusSubmittedLink
Status19/26/2022Links3_Link1
Status29/26/2022Links3_Link2
Status19/26/2022Links3_Link3
Status29/26/2022Links3_Link4
Status19/26/2022Links3_Link5

当前尝试的排序公式

=SORT({SORT({A11:C}, ROW(A11:C), FALSE); SORT({E11:G}, ROW(E11:G), FALSE); SORT({I11:K}, ROW(I11:K), FALSE)}, 2, FALSE)

解决建议

方案1:合并后统一去重+排序

跳过分表单独排序步骤,直接合并分表已处理好的数据,完成去重后按日期倒序排列:

=SORT(UNIQUE({
  Links1!A:C;
  Links2!A:C;
  Links3!A:C;
  Links4!A:C;
  Links5!A:C
}), 2, FALSE)
  • 说明:UNIQUE()会保留「链接+日期」的唯一组合,符合需求;SORT()按第2列(日期)倒序,实现跨表整体最新日期在前。

方案2:保留审核状态,合并后直接排序

如果分表的Status列是手动维护的审核状态,可直接合并分表完整数据后排序:

=SORT({
  Links1!A:C;
  Links2!A:C;
  Links3!A:C;
  Links4!A:C;
  Links5!A:C
}, 2, FALSE)
  • 说明:分表已通过UNIQUE()处理重复数据,合并后无需再次去重,直接按日期列倒序即可。

方案3:从原始数据直接处理(减少中间分表)

若分表仅用于分类筛选,可直接从表单响应表提取数据,一次性完成分类、日期转换、去重、合并排序:

=SORT(UNIQUE({
  // 处理Links1类数据,替换xxx为实际状态规则
  ARRAYFORMULA(IF(A2:A<>"", "Status"&xxx, "")), ARRAYFORMULA(TO_DATE(DATEVALUE(A2:A))), B2:B;
  // 处理Links2类数据
  ARRAYFORMULA(IF(C2:C<>"", "Status"&xxx, "")), ARRAYFORMULA(TO_DATE(DATEVALUE(C2:C))), D2:D;
  // 其他分类依次类推
}), 2, FALSE)
  • 说明:减少分表维护成本,从源头处理避免分表操作带来的排序问题。

内容的提问来源于stack exchange,提问作者user19120926

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:10:48