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

求Google Script实现:合并重复员工行,将Leave_Warnings合并至单个单元格

嘿,这个需求太常见啦!我给你几个不同工具的实现思路,你可以根据自己平时用的工具来选:

方法1:用Excel实现(适合非编程用户)

如果你的数据在Excel里,有两种简单的方式:

方式A:用TEXTJOIN + UNIQUE函数组合(Excel 365/2021及以上版本支持)

  • 第一步:提取不重复的员工ID。在空白列(比如C列)的第一个单元格(C2)输入:=UNIQUE(A:A),回车后会自动生成所有不重复的员工ID列表。
  • 第二步:合并对应员工的请假警告。在D2单元格输入:=TEXTJOIN(", ", TRUE, FILTER(B:B, A:A=C2)),回车后就能得到该员工所有的Leave_Warnings合并结果,然后下拉填充整列即可。
    • 解释:TEXTJOIN负责把多个文本用指定分隔符(这里是, )拼接,FILTER用来筛选出当前员工ID对应的所有请假警告,TRUE参数表示忽略空值。

方式B:用Power Query(所有Excel版本基本都支持)

  • 第一步:选中你的数据区域,点击「数据」选项卡 -> 「从表格/区域」(如果弹出对话框,勾选「我的表格有标题」)。
  • 第二步:进入Power Query编辑器后,点击「转换」选项卡 -> 「分组依据」。
  • 第三步:在分组设置窗口中:
    • 「分组依据」选择「员工ID」;
    • 「新列名」可以填「合并警告」;
    • 「操作」选择「合并行」;
    • 「列」选择「Leave_Warnings」;
    • 点击「高级选项」,设置分隔符为, ;
  • 第四步:点击「确定」,然后点击「主页」选项卡 -> 「关闭并上载」,合并后的结果就会导入到新的工作表里。
方法2:用Python pandas实现(适合编程用户)

如果习惯用代码处理,pandas是非常高效的选择:

import pandas as pd

# 读取你的表格数据,假设是Excel文件,也可以是CSV
df = pd.read_excel("你的请假记录文件.xlsx")

# 按员工ID分组,将对应的Leave_Warnings用逗号加空格拼接
merged_df = df.groupby("员工ID", as_index=False)["Leave_Warnings"].agg(", ".join)

# 保存合并后的结果到新文件
merged_df.to_excel("合并后的请假记录.xlsx", index=False)

解释:groupby按员工ID分组,agg(", ".join)把每组的Leave_Warnings拼接成一个字符串,as_index=False保证员工ID作为普通列而不是索引。

方法3:用SQL实现(如果数据存储在数据库中)

如果你的请假记录存在数据库里,可以用SQL的字符串聚合函数来实现,不同数据库写法略有差异:

  • MySQL/MariaDB:
SELECT 
    员工ID, 
    GROUP_CONCAT(Leave_Warnings SEPARATOR ', ') AS 合并警告
FROM 
    你的请假表名
GROUP BY 
    员工ID;
  • SQL Server 2017+/Azure SQL:
SELECT 
    员工ID, 
    STRING_AGG(Leave_Warnings, ', ') AS 合并警告
FROM 
    你的请假表名
GROUP BY 
    员工ID;
  • PostgreSQL:
SELECT 
    员工ID, 
    STRING_AGG(Leave_Warnings, ', ') AS 合并警告
FROM 
    你的请假表名
GROUP BY 
    员工ID;

这些方法应该能完美解决你的需求,要是你用的是其他工具(比如Google Sheets),可以告诉我,我再补充对应的思路~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:32:55