在sumproduct中使用两个标准列表
我想通过使用两个标准列表来分析下表
如果A包含List 1中的一个元素而B包含List 2中的一个元素,我想总结C列。我可以想象使用公式:
((A:A =清单1)*(B:B =清单2)*(C:C))= SUMPRODUCT
我的公式产生2(a,x,1 + b,y,1),但是我想得到3(a,x,1 + b,y,1 + a,y,1)。
谁能帮我?
像这样的东西应该工作:
=SUM(SUMIFS(C:C,A:A,{"a","b"},B:B,"x"),SUMIFS(C:C,A:A,{"a","b"},B:B,"y"))
可能会有更紧凑的数组公式,可以编写,但是如果在每个列表中只有两个variables,那么这也不算太坏。
如果你可以使用数组公式来代替一个sumproduct公式(我发现它们更容易阅读,但是它们在编辑时会带来错误input的风险),试试这个:
= SUM(IF(ISERROR(MATCH(B1:B6,G2:G3,0)) “”,(IF(ISERROR(MATCH(A1:A6,F2:F3,0)), “”,C1:C6) )))
这通过创build一个新的A列数组来实现,其中与List1匹配的行显示C列中的值,而与List1不匹配的行显示“”。 然后使用这个新数组创build一个新的B列数组,其中与List2匹配的行显示来自“新列A数组”(其中包括列C中的值以及一些“”)和行哪个不符合list2显示“”。 结果是一个数组,它必须被总结为提供结束单个答案。
由于这是一个数组公式,所以当你input它时,你需要按下button来完成(每次你编辑单元格)
CNTRL + SHIFT + ENTER
而不仅仅是
input
请注意,虽然您可以改为select索引中的所有列A / B,但通常不build议这样做(在我的理解中),数组公式将search列的所有内容,包括使用范围之外的区域。 这大大降低了性能,所以为了您的目的,您可能需要使用其他方法之一(如索引一个任意大的“A1:A500”,或创build某种forms的间接公式,其中包括search最后一个有数据的行)。
在C1中试试这个公式:
=COUNTIF(F:F,A1)+COUNTIF(G:G,B1)
所有值= 2符合您的AND标准(在List1和List2中)