首页 > 解决方案 > Excel - 计算多列中一对值的出现次数

问题描述

我有一个矩阵:

A   B   C   D   E   F
67  1   43  48  49  49
12          35  50  50
            33      
22  33              33

我想计算至少有一对预先指定的列的条目的行数。这只是单元格是否具有值(而不是特定值)的问题。列对是 AD、BE 和 CF。

在当前示例中,答案是 2,因为 2 行 - 第 1 行和第 2 行 - 包含至少一对列的条目。具体来说,第 1 行包含所有列对的条目,而第 2 行包含 AD 列对的条目 - 但仅此一项就足以满足标准。如果第 4 行在 E 列中有一个条目,那么这也符合标准,答案将变为 3)。

我已经考虑过如何使用以下数组公式计算两列的条目对:

=SUM(IF(A1:A4<>"",IF(D1:D4<>"",1,0)))

但是,我很难将其扩展到具有类型功能的多列,该OR类型功能仅计算每行一对条目,即使该行包含更多配对。

我在这里问了一个类似的问题,这可能有用。

我会很感激你对此的想法。

标签: arraysexcelif-statementcountcountif

解决方案


它不漂亮,但它似乎有效(至少对于提供的示例数据):

在此处输入图像描述 =SUM(($A$1:$A$4<>"") ($D$1:$D$4<>""))+SUM(($B$1:$B$4<>"") ($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 个都有值的行数。


推荐阅读