多个索引的总和与一个值匹配

Sumif of multiple Index matches against one value

需要有关 Excel 从两个不同表中匹配的基于两列总和的动态搜索的帮助。

我一次输入了 Table 条数据

    A          B        C  
1   Qlty       Warp     Weft
2   Stpl.1     150      20
3   Cotn.1     80       60
4   Stpl.2     20       20
5   Cotn.2     20       20
6   Stpl.3     20       40

在列 A2:A6 中,质量不能重复,它是唯一的名称

数据输入和报告 Table 在这里

       A            B              C            D               E               F
8      Yarn Name    Sent Bags      Remaining    Qualty          Used Warp       Used Weft
9      20           800            600          Stpl.1          71              200
10     150          101            30           Stpl.2          70              30
11     40           300            290          Stpl.3          100             10
12     20                          400

C9:C5000 为返回列,值基于列 A9:A5000(纱线名称)计算 需要在 B2:B6 AND/OR C2:C6 中查找纱线名称(例如:)“20”,只要它匹配,索引来自 A2:A6 的质量 然后将返回的质量(可能不止一个)与 D9:D5000 相匹配,并对 E9:F5000

的数学结果求和

到目前为止我已经在 C12 中尝试过

=SUMIF($A:$A12,A12,$B:$B12)-(SUMIF($D:$D12,INDEX($A:$A,MATCH(A12,$B:$B,0)),$D:$D12)+SUMIF($D:$D12,INDEX($A:$A,MATCH(A12,$C:$C,0)),$D:$D12))

PS:- 我正在使用 Excel 2007

如果我没理解错,下面的数组公式可以帮到你:

=SUM(IFERROR(INDEX($A:$A,N(IF(1,(MMULT(--($B:$C=A9),TRANSPOSE(COLUMN($B:$C)^0))>0)*(ROW($B:$C))-1)))=TRANSPOSE($D:$D),0)*TRANSPOSE($E:$E+$F:$F))

编辑后的数组公式按ctrl+shift+enter

确认

编辑:

要分别计算经纱和纬纱列,请使用以下数组公式:

=SUM(IFERROR(INDEX($A:$A,N(IF(1,((A9=$B:$B)*ROW($B:$B))-1)))=TRANSPOSE($D:$D),0)*TRANSPOSE($E:$E))+SUM(IFERROR(INDEX($A:$A,N(IF(1,((A9=$C:$C)*ROW($C:$C))-1)))=TRANSPOSE($D:$D),0)*TRANSPOSE($F:$F))