在Google Sheets中无需数据透视表创建动态支出汇总表
Google Sheets 无数据透视表的自动支出汇总方案
需求背景
我通过Google表单收集实时支出数据(原始数据结构如下),需要在Google Sheets中创建一个无需数据透视表的汇总表,实现自动同步更新,样式匹配需求示例。
原始数据结构
| Timestamp | Price | Specific Category | DateVal | Date | Year | DayOfWeek |
|---|---|---|---|---|---|---|
| 4/15/2024 13:49:34 | 200 | Gifts | 45397 | 15/04 | 2024 | Mon |
| 4/15/2024 13:49:44 | 65 | Dinner | 45397 | 15/04 | 2024 | Mon |
| 4/16/2024 13:49:54 | 14 | Lunch | 45398 | 16/04 | 2024 | Tue |
| 4/16/2024 13:50:02 | 5 | Snacks | 45398 | 16/04 | 2024 | Tue |
| 4/16/2024 14:50:02 | 3 | Snacks | 45398 | 16/04 | 2024 | Tue |
| 4/17/2024 13:50:18 | 8 | Transport | 45399 | 17/04 | 2024 | Wed |
| 4/17/2024 13:50:25 | 14 | Snacks | 45399 | 17/04 | 2024 | Wed |
| 4/18/2024 13:50:36 | 14 | Breakfast | 45400 | 18/04 | 2024 | Thu |
| 4/18/2024 13:50:42 | 15 | Lunch | 45400 | 18/04 | 2024 | Thu |
| 4/19/2024 13:50:50 | 19 | Dinner | 45401 | 19/04 | 2024 | Fri |
| 4/20/2024 13:51:00 | 7 | Materials | 45402 | 20/04 | 2024 | Sat |
| 4/20/2024 13:51:09 | 5 | Snacks | 45402 | 20/04 | 2024 | Sat |
| 4/21/2024 13:51:22 | 30.8 | Lunch | 45403 | 21/04 | 2024 | Sun |
| 4/21/2024 13:51:33 | 8 | Snacks | 45403 | 21/04 | 2024 | Sun |
核心要求
- 表格随数据更新自动同步
- 单元格值为对应日期与类别的支出总和(如16/04的Snacks支出总和为8)
- 新增日期时自动添加至表格
- 新增类别时自动添加至表格
实现方案(基于Google Sheets函数)
假设原始数据存储在名为Sheet1的工作表中,汇总表在新工作表(如Summary)中创建:
1. 生成动态日期列(行标签)
在Summary表的A2单元格输入以下公式,自动获取并排序所有唯一日期,新增日期会自动追加:
=SORT(UNIQUE(Sheet1!F:F), 1, TRUE)
UNIQUE(Sheet1!F:F):提取Sheet1中Date列的所有唯一值SORT(...,1,TRUE):按日期升序排序
2. 生成动态类别行(列标签)
在Summary表的B1单元格输入以下公式,自动获取并排序所有唯一类别,转置为横向表头,新增类别会自动追加:
=TRANSPOSE(SORT(UNIQUE(Sheet1!C:C), 1, TRUE))
UNIQUE(Sheet1!C:C):提取Sheet1中Specific Category列的所有唯一值SORT(...,1,TRUE):按类别名称升序排序TRANSPOSE():将纵向结果转为横向表头
3. 自动填充支出汇总值
在Summary表的B2单元格输入以下数组公式,批量计算所有日期×类别的支出总和,空值显示为0:
=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A&TRANSPOSE(B1:Z1), {Sheet1!F:F&Sheet1!C:C, SUMIFS(Sheet1!B:B, Sheet1!F:F, Sheet1!F:F, Sheet1!C:C, Sheet1!C:C)}, 2, FALSE), 0))
逻辑说明:
A2:A&TRANSPOSE(B1:Z1):生成日期与类别的组合键(如15/04Gifts){Sheet1!F:F&Sheet1!C:C, SUMIFS(...)}:创建原始数据中“日期+类别”组合与对应支出总和的映射表VLOOKUP(...):根据组合键匹配对应的总和值IFERROR(...,0):将匹配不到的空值转为0,避免显示错误
4. 验证自动更新
当Google表单新增数据(包含新日期或新类别)时,Sheet1会自动同步,Summary表的日期列、类别行和汇总值会自动更新,无需手动调整。
内容的提问来源于stack exchange,提问作者oska boska
相关产品推荐
相关产品推荐

