根据列中的条件对行求和

根据列中的条件对行求和

我被一个问题困住了,

我有两组数据如下:

在此处输入图片描述

如何确定表 1 中基于 ID 的列“a”的总和是否等于基于 ID 的列“b”?我假设我需要 Sumif 和 Index Match,但我搞不懂。如能得到任何帮助,我将不胜感激!谢谢!

答案1

身份证号在右边,

=SUM(A3,IFERROR(INDIRECT("$D"&MATCH(B3,$E:$E,0)),0))

其中 A3 是表 1 的“a”值,$D 是表 2 的“b”值所在的列,B3 是表 1 ID 值的单元格,$E:$E 是表 2 ID 值的列。

如果您的 ID 在左侧,则 VLOOKUP 将使用类似以下内容进行工作:

=SUM(B3,IFERROR(VLOOKUP(A3,$D$3:$E$5,2,FALSE),0))

答案2

怎么运行的:

  1. 在单元格中写入此数组公式C3,最后用Ctrl+Shift+Enter& 填充。

    {=IFERROR(INDEX($B$3:$B$9, MATCH(0,COUNTIF($C$2:C2, $B$3:$B$9), 0)),"")}
    
  2. 在单元格中D3输入此公式并填写。

=IF(SUMIF(B3:B9,C3,A3:A9)=0,"",SUMIF(B3:B9,C3,A3:A9))

在此处输入图片描述

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

答案3

使用数据透视表,只需单击几下即可从表 1 转到表 2。这是一个方便的内置向导,可以非常轻松地以不同方式汇总数据,并且不需要任何脑力从头开始计算复杂的公式。我使用 LibreOffice Calc,因此用户界面略有不同,但您可以轻松地将其传输到 Excel。

突出显示表 1 并从菜单中选择“插入数据透视表”。您将获得一个大致如下所示的向导:

在此处输入图片描述

数据列将在可用字段框中标识。将 ID 拖到行字段框,然后拖到a数据字段框(我认为该框在 Excel 中的标签不同,但它是同一个框)。在 LO Calc 中,聚合函数默认为 Sum。如果我没记错的话,在 Excel 中,它可能默认为 Count。如果是这样,请双击它并从选项中选择 Sum。

如果需要,还有一些自定义选项,例如选择是否包含行和列总计,以及将数据透视表粘贴到何处。完成选择后,您将获得如下结果:

在此处输入图片描述

它只需要几秒钟,并且在创建此解决方案时不会损害任何脑细胞。:-)

相关内容