Excel公式:计算具有多个OR条件的行

220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>

下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB

Excel 公式:计算具有多个 OR 条件的行

通用公式

=SUMPRODUCT(((criteria1)+(criteria2)>0))
概括 

要使用跨不同列的多个条件(使用 OR 逻辑)计算行数,您可以使用SUMPRODUCT 函数。在所示示例中,H7 中的公式为:

=SUMPRODUCT(((C5:C11=“blue”)+(D5:D11=“dog”)>0))

结果是颜色为“蓝色”或宠物为“狗”的行数。

解释 

在所示示例中,我们要计算颜色为“蓝色”或宠物为“狗”的行。这可以通过 布尔逻辑 和SUMPRODUCT 函数来完成, 如下所示:

=SUMPRODUCT(((C5:C11=“blue”)+(D5:D11=“dog”)>0))

这个公式的核心是两个逻辑测试,每个条件一个:

(C5:C11=“blue”)+(D5:D11=“dog”)

在布尔代数中,OR 逻辑需要加法,因此两个逻辑测试通过加法 (+) 连接。第一个逻辑测试检查 Color 是否为“蓝色”:

(C5:C11=“blue”) // returns {TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE}

因为我们正在测试 C5:C11 范围内的 7 个值,所以结果是一个包含 7 个 TRUE/FALSE 值的数组。第二个逻辑测试检查 Pet 是否为“狗”: 

(D5:D11=“dog”) // {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE}

同样,我们正在检查 7 个值,因此我们返回一个包含 7 个结果的数组。 

然后将两个数组相加。数学运算自动将 TRUE FALSE 值强制为 1 和 0,结果是一个像这样的数组:

{2;0;1;1;1;0;1}

我们不能简单地将这些值与 SUMPRODUCT 相加,因为这会使“blue”和“dog”的行数加倍。因此,为了处理这种情况,我们使用 “>0” 和双负号 (–) 来强制所有值为 1 或零:

({2;0;1;1;1;0;1}>0)

这些操作在 SUMPRODUCT 函数中创建一个由 1 和 0 组成的数组:

=SUMPRODUCT({1;0;1;1;1;0;1}) // returns 5

由于只有一个数组要处理,SUMPRODUCT 只返回数组中元素的总和。

其他逻辑测试

该示例显示了简单相等的测试,但您可以根据需要将这些语句替换为其他逻辑测试。例如,要计算 A 列中的单元格包含“红色”或 B 列中的单元格包含“蓝色”的行,您可以使用如下公式:

=SUMPRODUCT((ISNUMBER(SEARCH(“red”,A1:A10))+ISNUMBER(SEARCH(“blue”,B1:B10))>0))

220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>

下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注