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

如何在Google Sheets中从源表提取工单数据生成指定结构的报表

Google Sheets完全可以实现该需求,以下是具体操作步骤,默认你存储原始数据的工作表命名为Spreadsheet A,若你的源表列名、列位置不同,对应替换公式内的列标识即可。

第一步:新建报表表头

在新工作表第一行依次输入表头:Ticket ID、Verification、Repair、QA、Month

第二步:拉取所有唯一工单ID

在新工作表A2单元格输入公式,自动生成所有不重复的工单ID,无需手动录入:
=UNIQUE('Spreadsheet A'!A:A)
注:假设源表A列为工单ID列,若存放在其他列,替换'Spreadsheet A'!A:A为对应列范围即可。

第三步:提取三类流程的对应时长

在对应列的第二行输入以下公式,输入完成后选中单元格下拉填充即可:

  • Verification列(B2):
    =IFERROR(FILTER('Spreadsheet A'!C:C,'Spreadsheet A'!A:A=A2,'Spreadsheet A'!B:B="Verification"),"")
    注:假设源表B列为流程环节名称列、C列为对应流程时长列,匹配不到对应流程时长时自动返回空值。
  • Repair列(C2):
    =IFERROR(FILTER('Spreadsheet A'!C:C,'Spreadsheet A'!A:A=A2,'Spreadsheet A'!B:B="Repair"),"")
  • QA列(D2):
    =IFERROR(FILTER('Spreadsheet A'!C:C,'Spreadsheet A'!A:A=A2,'Spreadsheet A'!B:B="QA"),"")
    如果你的源表中三类流程时长是单独存放在不同列,直接用XLOOKUP匹配即可,示例:
    =IFERROR(XLOOKUP(A2,'Spreadsheet A'!A:A,'Spreadsheet A'!对应时长列,""))
第四步:提取工单首次登记月份

在Month列(E2)输入公式,下拉填充即可:
=IFERROR(TEXT(MINIFS('Spreadsheet A'!D:D,'Spreadsheet A'!A:A=A2),"yyyy-mm"),"")
注:假设源表D列为工单登记时间列,公式会先取当前工单的最早登记时间,再格式化为年-月格式,你可以自行调整TEXT内的格式参数修改月份展示样式。

可选:一键生成全表数据无需手动填充

如果不想手动下拉填充公式,可直接在A2单元格输入整合后的数组公式,自动生成整张报表的所有内容:
=ARRAYFORMULA(QUERY({'Spreadsheet A'!A:A,IF('Spreadsheet A'!B:B="Verification",'Spreadsheet A'!C:C,""),IF('Spreadsheet A'!B:B="Repair",'Spreadsheet A'!C:C,""),IF('Spreadsheet A'!B:B="QA",'Spreadsheet A'!C:C,""),TEXT('Spreadsheet A'!D:D,"yyyy-mm")},"select Col1,MAX(Col2),MAX(Col3),MAX(Col4),Col5 where Col1 is not null group by Col1,Col5 label Col1='Ticket ID',MAX(Col2)='Verification',MAX(Col3)='Repair',MAX(Col4)='QA',Col5='Month'",1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:42:02