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

Google Sheets多工作表按分类高效汇总数据方案咨询

高效分类汇总解决方案

Google Sheets公式方案

方案1:QUERY+VSTACK批量整合汇总

  • 核心思路:先将所有工作表的有效数据一次性堆叠成统一数据源,再按分类聚合计算,避免多表循环的性能损耗
  • 公式示例(假设分类列是A,数值列是B,各表数据从第2行开始):
    =QUERY(VSTACK(Sheet1!A2:B, Sheet2!A2:B, ..., Sheet24!A2:B), 
           "SELECT Col1, SUM(Col2) WHERE Col1 IS NOT NULL GROUP BY Col1 
            LABEL Col1 '分类', SUM(Col2) '总计'")
    
  • 注意:如果工作表名称包含空格,需用单引号包裹,比如'Q1 Sales'!A2:B

方案2:BYROW+SUMIFS逐分类计算

  • 先在「总计」表A列提取所有唯一分类(用=UNIQUE(VSTACK(Sheet1!A2:A, ..., Sheet24!A2:A))生成)
  • 在B2单元格输入以下公式,下拉自动计算所有分类的总计:
    =BYROW(A2:A, LAMBDA(x, SUM(SUMIF(INDIRECT("'"&{"Sheet1","Sheet2",...,"Sheet24"}&"'!A:A"), x, INDIRECT("'"&{"Sheet1","Sheet2",...,"Sheet24"}&"'!B:B")))))
    
  • 优势:无需合并数据源,直接针对每个分类跨表求和,适合需要保留分类单独查看的场景

Python处理思路

方式1:导出CSV后用Pandas汇总

  • 操作步骤:
    1. 将24个工作表分别导出为CSV文件,存入同一文件夹
    2. 运行以下代码完成汇总:
      import pandas as pd
      import os
      
      # 配置路径
      input_folder = "./sheet_csvs"
      output_file = "./分类总计.csv"
      
      # 读取所有CSV并合并
      df_list = []
      for file in os.listdir(input_folder):
          if file.endswith(".csv"):
              df = pd.read_csv(os.path.join(input_folder, file))
              df_list.append(df)
      
      combined_df = pd.concat(df_list, ignore_index=True)
      # 按分类列汇总数值列(替换为你的列名)
      summary = combined_df.groupby("分类")["数值"].sum().reset_index()
      
      # 保存结果
      summary.to_csv(output_file, index=False, encoding="utf-8-sig")
      

方式2:直接调用Google Sheets API读取汇总

  • 操作步骤:
    1. 在Google Cloud平台创建服务账号,下载密钥文件
    2. 安装依赖:pip install gspread pandas
    3. 运行代码:
      import gspread
      import pandas as pd
      
      # 授权登录
      gc = gspread.service_account(filename="service_account_key.json")
      # 打开目标表格(替换为你的表格名称)
      sheet = gc.open("业务数据汇总")
      
      # 读取所有工作表数据
      df_list = []
      for ws in sheet.worksheets():
          # 跳过「总计」工作表
          if ws.title == "总计":
              continue
          data = ws.get_all_records()
          df_list.append(pd.DataFrame(data))
      
      # 合并并汇总
      combined_df = pd.concat(df_list, ignore_index=True)
      summary = combined_df.groupby("分类")["数值"].sum().reset_index()
      
      # 将结果写入「总计」工作表
      summary_ws = sheet.worksheet("总计")
      summary_ws.clear()
      # 写入表头和数据
      summary_ws.update([summary.columns.tolist()] + summary.values.tolist())
      

内容的提问来源于stack exchange,提问作者Vít Repka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:57:50