如何在 Excel 中根据多列汇总一个值?

如何在 Excel 中根据多列汇总一个值?

使用数据透视表很容易根据另一列对一列求和。但是,对于多列,这似乎不可能。

min与 R 的 group by 类似,当多列中的值相同时,我想汇总一个值(在我的情况下)。本质上,我想转换下表

表格1

进入此表(此处使用sum):

表 2

我该如何使用数据透视表或公式来做到这一点?

答案1

将第 2 列和第 3 列放入数据透视表字段的“列”中,并将第 1 列作为“值”中的“总和”,似乎可以产生您所要求的结果 - 参见以下示例;

示例 1

答案2

使用辅助数据解决了该问题:

在此处输入图片描述

  • 在单元格中输入公式G36并填写:

    =IF(AND(E36="A",F36="C"),1,IF(AND(E36="A",F36="D"),2,IF(AND(E36="B",F36="D"),3,IF(AND(E36="B",F36="E"),4,""))))
    

  • 数组(CSE)公式如下G47

    {=IFERROR(INDEX($G$36:$G$45, MATCH(0,COUNTIF($G$46:G46, $G$36:$G$45), 0)),"")}
    
  • 完成配方Ctrl+Shift+Enter并填写。


  • 在单元格中输入公式E47

      =IFERROR(INDEX(E$36:E$45,MATCH($G47,$G$36:$G$45,0)),"")
    
  • 将公式向右拖动然后向下

  • 下面显示的公式将填充单元格F47:F50

=IFERROR(INDEX(F$36:F$45,MATCH($G47,$G$36:$G$45,0)),"")


  • 单元格中的最终公式D47

    =IF(SUMPRODUCT((E$36:E$45=E47)*(F$36:F$45=F47),D$36:D$45)=0,"",SUMPRODUCT((E$36:E$45=E47)*(F$36:F$45=F47),D$36:D$45))
    
  • 向下填充公式

注意:

  • 为了以后整洁,您可以隐藏辅助数据(Col G),那么您的数据将如下所示。

在此处输入图片描述

  • 根据需要调整公式中的单元格引用。

相关内容