Excel中按ID和DATE分组汇总COST并与TOTAL校验的方法
按ID和DATE分组验证COST总和与TOTAL匹配的Excel实现方法
嗨,这个需求在Excel里有几种高效的实现方式,根据你的数据规模和使用习惯可以灵活选择:
方法1:直接用公式在原数据旁生成验证结果(最快捷)
不需要额外创建透视表,直接在数据最后一列(比如E列)添加验证公式:
- 在E2单元格输入公式:
=SUMIFS($C$2:$C$8,$A$2:$A$8,A2,$B$2:$B$8,B2)=D2 - 按住鼠标左键下拉填充到所有行,就能得到每一行对应的验证结果(True/False)。
原理说明
SUMIFS($C$2:$C$8,$A$2:$A$8,A2,$B$2:$B$8,B2)会根据当前行的ID和DATE,汇总对应分组的所有COST值- 然后和当前行的TOTAL值比较(因为同一分组的TOTAL值是一致的,所以任意一行的TOTAL都能代表组内值),返回布尔值验证是否相等。
方法2:用数据透视表可视化验证(适合查看分组汇总情况)
如果需要同时查看分组汇总数据和验证结果,透视表是不错的选择:
- 选中你的数据区域(包括表头),点击「插入」选项卡→「数据透视表」,选择放置位置
- 在透视表字段列表中:
- 把「ID」和「DATE」拖到「行」区域
- 把「COST」拖到「值」区域,右键点击值区域的COST→「值字段设置」,选择「求和」
- 把「TOTAL」拖到「值」区域,右键点击值区域的TOTAL→「值字段设置」,选择「最大值」(因为同一分组的TOTAL值相同,最大值/最小值/平均值都可以)
- 在透视表的右侧添加新列,比如列标题为「验证结果」,在第一个数据行输入公式:
下拉填充后就能得到每组的验证结果。=C2=D2
方法3:用Power Query批量处理(适合大数据量)
如果你的数据量很大,或者需要频繁更新验证结果,Power Query的自动化处理更高效:
- 选中数据区域,点击「数据」选项卡→「从表格/区域」(如果提示表包含标题,勾选确定)
- 在Power Query编辑器中:
- 选中「ID」和「DATE」两列,点击「转换」选项卡→「分组依据」
- 在分组对话框中,点击「高级」,添加两个分组规则:
- 第一组:新列名「总COST」,操作选「求和」,列选「COST」
- 第二组:新列名「组TOTAL」,操作选「最大值」,列选「TOTAL」
- 点击「确定」后,点击「添加列」选项卡→「自定义列」,输入公式:
命名为「验证结果」= [总COST] = [组TOTAL]
- 点击「关闭并上载」,就能得到包含分组汇总和验证结果的新表格,后续数据更新后只需右键刷新即可。
内容的提问来源于stack exchange,提问作者Dipesh Meghani
相关产品推荐
相关产品推荐

