求和两个数组中匹配的值

时间:2018-09-24 20:18:40

标签: excel excel-vba excel-formula

我的Excel工作表设置如下:

enter image description here

我的目标是创建引用列的矩阵,在该矩阵中,我想显示两个引用中都存在ID的值的总和。例如,在此数据表中,参考号1和参考号2中包含ID的“ A”和“ E”(请参见橙色突出显示)。因此,在矩阵输出中,在参考1和参考2的交点处,我想显示ID的A和E的值之和。实际数据集更大。

任何人都可以帮助允许这样做的Excel公式。

目前,我正在使用查找来识别参考的范围(即,参考1的单元格范围和参考2的单元格范围)。我的计划是,如果存在这样的公式,则尝试尝试sum_duplicates(ref_1_range,ref_2_range)。

任何想法将不胜感激!

2 个答案:

答案 0 :(得分:1)

您可以使用帮助程序列来检查该值是否在另一个引用中,然后求和该列是否为= TRUE

例如:

helpercolumn

  • D2中的公式为:=COUNTIFS(B:B,B2,A:A,"<>"&A2)>0
  • G2中的公式为:=SUMIFS(C:C,A:A,F2)
  • H2G3中的公式为:=SUMIFS(C:C,D:D,TRUE)
  • H3中的公式为:=SUMIFS(C:C,A:A,F3)

答案 1 :(得分:0)

我不确定这是否是最好的方法-这是一种方法,因为H2在合并的前两列中查找像1A,1E,1E,1D,1E,1A,1G等对,1B,1E,1D,2E,2A,2G),然后将匹配范围缩小到参考2:

=SUMPRODUCT($C$2:$C$8*ISNUMBER(MATCH($F2&$B$2:$B$8,$A$2:$A$8&$B$2:$B$8,0))*($A$2:$A$8=H$1))

enter image description here

我已填写2 X 2表的其他元素作为检查,并将C4更改为3,以使四个总数不同。

编辑

=SUMPRODUCT($C$2:$C$8*(COUNTIFS($A$2:$A$8,$F2,$B$2:$B$8,$B$2:$B$8)>0)*($A$2:$A$8=H$1))

好一点。