我有一个矩阵:
A B C D E F
67 1 43 48 49 49
12 35 50 50
33
22 33 33
我想计算至少一对预先指定的列中具有条目的行数。这仅仅是单元格是否具有值(而不是特定值)的问题。列对是A-D,B-E和C-F。
在当前示例中,答案是2,因为2行(第1行和第2行)包含至少一对列的条目。具体来说,第1行包含所有列对的条目,而第2行包含A-D列对的条目-但这仅满足标准。如果第4行的E列中有一个条目,那么这也将符合条件,答案将变为3)。
我已经考虑过如何使用以下数组公式对两列的条目对进行计数:
=SUM(IF(A1:A4<>"",IF(D1:D4<>"",1,0)))
但是,我很难使用OR
类型的功能将其扩展到多列,即使每行包含更多的配对,该功能每行也只计算一对条目。
我问了类似的问题here,这可能对您有所帮助。
感谢您对此的想法。
答案 0 :(得分:2)
它并不漂亮,但似乎可以正常工作(至少对于提供的示例数据而言):
= SUM(($ A $ 1:$ A $ 4 <>“”)($ D $ 1:$ D $ 4 <>“”))+ SUM(($ B $ 1:$ B $ 4 <>“”)< / em> ($ E $ 1:$ E $ 4 <>“”))+ SUM(($ C $ 1:$ C $ 4 <>“”)($ F $ 1:$ F $ 4 <>“”))-SUM( ($ A $ 1:$ A $ 4 <>“”) ($ D $ 1:$ D $ 4 <>“”)($ B $ 1:$ B $ 4 <>“”)($ E $ 1:$ E $ 4 <>“”))-SUM( ($ A $ 1:$ A $ 4 <>“”)($ D $ 1:$ D $ 4 <>“”) ($ C $ 1:$ C $ 4 <>“”)($ F $ 1:$ F $ 4 <>“”))-SUM(($ B $ 1:$ B $ 4 <>“”) ($ E $ 1:$ E $ 4 <>“”)($ C $ 1:$ C $ 4 <>“”) ($ F $ 1:$ F $ 4 <>“”))+ SUM(($ A $ 1:$ A $ 4 <>“”)($ D $ 1:$ D $ 4 <>“”) ($ B $ 1:$ B $ 4 <>“”)($ E $ 1:$ E $ 4 <>“”) ($ C $ 1:$ C $ 4 <>“”)*($ F $ 1:$ F $ 4 <>“”))
A&D有值的行数+ B&E有值的行数+ C&F有值的行数-A,D,B,E有值的行数-A,D,C的行数,F具有值-B,E,C,F具有值的行数+所有6个具有值的行数。
答案 1 :(得分:1)
我再想一想,如果它不容易分解为单独的和,则常规数组公式最简单,其中*代表AND和+代表OR(使用Sign函数将OR(1,1 ... 1):
=SUMPRODUCT(SIGN((A1:A4<>"")*(D1:D4<>"")+(B1:B4<>"")*(E1:E4<>"")+(C1:C4<>"")*(F1:F4<>"")))