如何在Google Sheets中提取可抵扣税支出数据并按月分类汇总
税务支出概览表公式解决方案
针对你需要从Expenses表提取可抵扣税数据、按类别和月份汇总总额的需求,这里提供两种实用方案,同时排查你遇到的部分数据无法提取的问题:
方案1:用QUERY生成动态汇总表(推荐)
如果你希望一次性生成完整的类别-月份交叉汇总表,且能随Expenses表的表单数据自动更新,使用QUERY+PIVOT是最高效的方式。
假设Expenses表的列对应:
- A列:购买日期(Purchase Date)
- B列:支出类别(Category)
- C列:支出金额(Amount)
- D列:是否可抵扣税(Is this tax deductible)
在Tax Expenses Overview表的A1单元格输入以下公式:
=QUERY(Expenses!A:D, "SELECT B, MONTH(A)+1, SUM(C) WHERE D='Yes' GROUP BY B, MONTH(A)+1 PIVOT MONTH(A)+1", 1)
公式说明:
SELECT B, MONTH(A)+1, SUM(C):选中类别、月份(MONTH返回0-11,+1转为1-12的常规月份数字)、金额总和WHERE D='Yes':只筛选可抵扣税的行GROUP BY B, MONTH(A)+1:按类别和月份分组统计PIVOT MONTH(A)+1:将月份转为列,生成类别行×月份列的交叉汇总表- 最后参数
1表示识别Expenses表的第一行为表头
如果需要显示月份名称(如Jan、Feb),可调整为:
=QUERY(Expenses!A:D, "SELECT B, FORMAT_DATE('MMM', A), SUM(C) WHERE D='Yes' GROUP BY B, FORMAT_DATE('MMM', A) PIVOT FORMAT_DATE('MMM', A)", 1)
方案2:用SUMIFS逐个单元格计算(适配固定表头)
如果你的Tax Expenses Overview表已经固定了行(类别)和列(月份),比如E5单元格对应「某类别」和「1月」,可以用SUMIFS精准计算:
假设:
- 概览表B5单元格是目标类别(如「Office Supplies」)
- 概览表E1单元格是目标月份(如「1月」)
- Expenses表A列=日期、B列=类别、C列=金额、D列=抵扣标记
在E5单元格输入:
=SUMIFS(Expenses!C:C, Expenses!B:B, B5, Expenses!D:D, "Yes", Expenses!A:A, ">="&DATE(YEAR(TODAY()), 1, 1), Expenses!A:A, "<="&EOMONTH(DATE(YEAR(TODAY()), 1, 1), 0))
公式说明:
Expenses!C:C:求和的目标金额列Expenses!B:B, B5:匹配当前行的类别Expenses!D:D, "Yes":筛选可抵扣税的行Expenses!A:A, ">="&DATE(...)和"<="&EOMONTH(...):限定目标月份的日期范围(把公式中的1换成对应列的月份数字即可适配其他月份)
如果要让公式自动识别列的月份名称,可替换为:
=SUMIFS(Expenses!C:C, Expenses!B:B, B5, Expenses!D:D, "Yes", Expenses!A:A, ">="&DATE(YEAR(TODAY()), MONTH(DATEVALUE(E1&" 1")), 1), Expenses!A:A, "<="&EOMONTH(DATE(YEAR(TODAY()), MONTH(DATEVALUE(E1&" 1")), 1), 0))
拖动公式即可自动适配其他类别和月份的单元格。
针对E5单元格未显示£14的排查要点
- 检查Expenses表对应行的「Is this tax deductible」值是否为严格的"Yes"(无大小写错误、无多余空格)
- 确认对应行的购买日期确实在目标月份内
- 核对概览表的类别(B5)与Expenses表的类别是否完全一致(无空格、拼写差异)
- 确保Expenses表的金额列是数字格式,而非文本格式
内容的提问来源于stack exchange,提问作者Kristian Burnett
相关产品推荐
相关产品推荐

