多个索引的总和与一个值匹配
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))
需要有关 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))