从示例here开始,我尝试在总和公式中添加其他条件。我代表了以下示例:
我在2017年1月寻找的输出是
2017
1
UP A 1
UP B 6
UP C 6
DOWN A 1
DOWN B 8
DOWN C 7
我尝试使用以下公式:
=MMULT(--($B$17:$C$17="X"),MATCH(1,($A23=$C$2:$C$14)*(C$21=$A$2:$A$14)*(C$22=$B$2:$B$14)*($E$2:$E$14=$D$2:$D$14),0))
但我得到一个N / A值。
有没有人知道是否可以这样做?
答案 0 :(得分:1)
在第一个示例中,array1中的行数和array2中的列数相等,为5。这里有两列和13行。他们在这里不平等是你遇到问题的部分原因。
你的匹配函数也返回一个布尔而不是一个数组
我有办法使用矩阵条件和多个条件来做到这一点,但不得不稍微改变一下问题,例如见照片:
{=MMULT(--(D18:P18="x"),E$2:E$14*(--(A$2:A$14=$C$21)*--(B$2:B$14=$C$22)*--(C$2:C$14=A24)))"
https://i.stack.imgur.com/FEvgR.png
您可以创建一个公式,用X填充第二个矩阵,见下文
=IF(OR(INDIRECT("D"&VALUE(D20))=$A$18,INDIRECT("D"&VALUE(D20))=$B$18),"X","")
https://i.stack.imgur.com/4rS4L.png
话虽如此,我认为这不是特别有效,因为你将其中一个矩阵视为全1,所以你基本上只是添加一个额外的标准/布尔,增加了复杂性......据说你特意要求这个,我相信我已经交付了那个LOL
答案 1 :(得分:1)
只需将两个SUMIFS一起添加。
=SUMIFS($E$2:$E$14, $A$2:$A$14, C$21, $B$2:$B$14, C$22, $C$2:$C$14, $A23, $D$2:$D$14, IF(INDEX($B$17:$C$19, MATCH($B23, $A$17:$A$19, 0), 1)="x", $B$16))+
SUMIFS($E$2:$E$14, $A$2:$A$14, C$21, $B$2:$B$14, C$22, $C$2:$C$14, $A23, $D$2:$D$14, IF(INDEX($B$17:$C$19, MATCH($B23, $A$17:$A$19, 0), 2)="x", $C$16))