如何用QUERY和VLOOKUP简化月度预计与实际金额对账流程?
优化月度银行账单预计与实际金额核对的方案
方案1:一步到位匹配预计类别与月度实际金额
放弃「QUERY分组+VLOOKUP匹配」的两步操作,直接用ARRAYFORMULA结合SUMIFS,在预计列表旁生成对应月份的实际金额。
假设:
- 预计类别列表在
预计!A2:A,预计金额在预计!B2:B - 账单数据在
账单!A:C(列依次为日期、类别、金额) - 目标核对月份为
2024-05
公式示例:
=ARRAYFORMULA(IF(预计!A2:A="","",SUMIFS(账单!C:C,TEXT(账单!A:A,"YYYY-MM")="2024-05",账单!B:B,预计!A2:A)))
把公式放在预计表的空白列(比如C2),自动遍历所有预计类别,返回对应月份的实际支出,无需额外匹配步骤。
方案2:按预计列表顺序排序QUERY分组结果
如果需要保留分组统计的逻辑,可先用QUERY生成月度分组数据,再通过SORT+MATCH按预计列表的顺序排序,避免手动调整顺序。
合并公式示例:
=SORT( QUERY(账单!A:C,"SELECT B, SUM(C) WHERE TEXT(A,'YYYY-MM')='2024-05' GROUP BY B LABEL SUM(C)'实际金额'",1), MATCH(INDEX(QUERY(账单!A:C,"SELECT B, SUM(C) WHERE TEXT(A,'YYYY-MM')='2024-05' GROUP BY B",1),,1),预计!A2:A,0), TRUE )
该公式先统计指定月份各分类的实际金额,再根据预计列表的类别顺序重新排序,直接输出和预计列表对齐的核对数据。
方案3:透视多月份数据避免重复换行
如果需要同时核对多个月份的实际金额,修正QUERY透视语法,让每个类别仅占一行,不同月份作为列展示:
=QUERY(账单!A:C,"SELECT B, SUM(C) WHERE A IS NOT NULL GROUP BY B PIVOT TEXT(A,'YYYY-MM')",1)
此公式会生成一个透视表,每行对应一个类别,每列对应一个月份的实际金额,方便批量对比预计与多期实际数据,解决之前透视后月份重复、换行的问题。
内容的提问来源于stack exchange,提问作者Hamsterpants
相关产品推荐
相关产品推荐

