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

如何自动合并Google Sheets近似重复行并更新唯一值?

解决Google Sheets中Zoom考勤日志合并问题

问题分析

你当前的Zoom考勤日志会将同一参会者的**Join Time(加入时间)和Left Time(离开时间)**分别记录在两行,需要将这些重复行合并,把对应时间整合到同一行中。

原公式失效原因

你使用的公式存在几个关键问题:

  • FILTER函数参数有语法错误(例如'Reference-Sheet'!$D$4 'Reference-Sheet'!$E$4:$E$4缺少比较运算符);
  • 数据范围仅限定到第4行($C$4:C4),无法覆盖全部日志内容;
  • 未区分"Joined"和"Left"事件类型,无法精准提取对应时间;
  • JOIN与SPLIT的逻辑未正确关联参会者与对应时间数据。

解决方案

假设你的原始数据在Reference-Sheet中:

  • C列:参会者姓名
  • D列:事件类型(值为"Joined"或"Left")
  • E列:事件时间
  • F-M列:参会者其他重复信息(如邮箱、会议ID等)

在空白工作表的A1单元格输入以下公式,可自动合并同一参会者的行,并整合所有Join/Left时间:

=ARRAYFORMULA(
  LET(
    data, 'Reference-Sheet'!C4:M,
    name_col, INDEX(data,,1),
    event_col, INDEX(data,,2),
    time_col, INDEX(data,,3),
    unique_names, UNIQUE(name_col),
    // 提取每个参会者的所有Join时间
    join_times, BYROW(unique_names, LAMBDA(n, TEXTJOIN(", ", TRUE, FILTER(time_col, name_col=n, event_col="Joined")))),
    // 提取每个参会者的所有Left时间
    left_times, BYROW(unique_names, LAMBDA(n, TEXTJOIN(", ", TRUE, FILTER(time_col, name_col=n, event_col="Left")))),
    // 合并参会者信息与对应时间
    HSTACK(
      BYROW(unique_names, LAMBDA(n, INDEX(FILTER(data, name_col=n), 1, 2):INDEX(FILTER(data, name_col=n), 1, 11))),
      unique_names,
      join_times,
      left_times
    )
  )
)

补充说明

  • 如果参会者多次进出会议,TEXTJOIN会用逗号分隔该用户的所有Join/Left时间;
  • 若需要按"Join-Left"配对合并(每次加入对应一次离开),可先对原始数据按姓名+时间排序,再用INDEX提取相邻行的时间进行配对。

内容的提问来源于stack exchange,提问作者KALVIN CZEDRIC LLEVA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:40:34