标准两个列表,我想通过使用标准两个列表为下表分析使用在SUMPRODUCT
我想总结列C在A包含从一个元素的情况下列表1和B包含列表2中的元素。我可以想到使用公式:
= SUMPRODUCT((A:A =列表1)*(B:B =列表2)*(C:C))我的公式产生2(a,x,1 + b,y,1),但我想得到3而不是(a,x,1 + b,y,1 + a,y,1) 。
任何人都可以帮助我吗?
标准两个列表,我想通过使用标准两个列表为下表分析使用在SUMPRODUCT
我想总结列C在A包含从一个元素的情况下列表1和B包含列表2中的元素。我可以想到使用公式:
= SUMPRODUCT((A:A =列表1)*(B:B =列表2)*(C:C))我的公式产生2(a,x,1 + b,y,1),但我想得到3而不是(a,x,1 + b,y,1 + a,y,1) 。
任何人都可以帮助我吗?
试试这个公式C1:
=COUNTIF(F:F,A1)+COUNTIF(G:G,B1)
所有值= 2满足您和标准(List1中和在列表2)
像这样的东西应该工作:
=SUM(SUMIFS(C:C,A:A,{"a","b"},B:B,"x"),SUMIFS(C:C,A:A,{"a","b"},B:B,"y"))
有可能会写出更紧凑的数组公式,但是如果每个列表中只有两个变量,那么这并不算太坏。
我应该在我的第一篇文章中写到:我需要一个任意数量的变量/标准的通用公式。 – kkoli
如果你没事使用数组公式代替SUMPRODUCT式(我觉得他们更容易阅读,但他们确实携带被输入的错误,他们被编辑时的风险),试试这个:
= SUM(IF(ISERROR(MATCH(B1:B6,G2:G3,0)),“”,(IF(ISERROR(MATCH(A1:A6,F2:F3,0)),“”,C1: C6))))
通过创建一个新的A列数组,其中与List1匹配的行显示列C中的值,以及与List1不匹配的行显示“”。然后使用这个新数组创建一个新的B列数组,其中与List2匹配的行显示来自“新列A数组”(其中包括列C中的值以及一些“”)的值以及行与list2不匹配显示“”。因为结果是一个数组,所以必须将其相加以提供最终的单个答案。
由于这是一个数组公式,当你进入它,你将需要通过按完成(每次编辑单元格时):
CNTRL + Shift + Enter
,而不是只是
ENTER
请注意,虽然您可以改为选择索引中的所有列A/B,但通常不建议这样做(在我的理解中),数组公式将搜索所有列,包括使用范围之外的区域。这大大降低了性能,因此出于您的目的,您可能不得不使用其他方法之一进行未来验证(例如索引任意大的“A1:A500”),或创建某种形式的间接公式,其中包含对最后一次搜索有数据的行)。
我看不出如何帮助解决我的问题:我不想填充列C,我想要添加列C中的每个单元格,列A中的相应值在List1中,并且相应的值在列B在List2中。 – kkoli