Excel公式:计算包含 x 或 y 的单元格数量

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

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

Excel formula: Count cells that contain either x or y

通用公式

=SUMPRODUCT(((ISNUMBER(FIND(“abc”,rng)) + ISNUMBER(FIND(“def”,rng)))>0))
概括 

要计算包含 x 或 y 的单元格,您可以使用基于SUMPRODUCT 函数的公式。在所示示例中,单元格 F5 中的公式为:

=SUMPRODUCT(((ISNUMBER(FIND(“abc”,B5:B11))+ISNUMBER(FIND(“def”,B5:B11)))>0))
这是单细胞公式解决方案,如下所述。也可以使用基于辅助列的更简单的公式 ,下面也会解释。
解释 

当你用“或逻辑”计算单元格时,你需要注意不要重复计算。例如,如果您正在计算包​​含“abc”或“def”的单元格,则不能将两个 COUNTIF 函数相加,因为您可能会重复计算同时包含“abc”和“def”的单元格。

单细胞溶液

对于单个公式,您可以将SUMPRODUCT与 ISNUMBER + FIND 一起使用。F5中的公式为:

=SUMPRODUCT(((ISNUMBER(FIND(“abc”,B5:B11)) + ISNUMBER(FIND(“def”,B5:B11)))>0))

此公式基于此处解释的用于在单元格内定位文本的公式:

ISNUMBER(FIND(“abc”,B5:B11)

当给定一个单元格区域时,此代码段将返回一个TRUE/FALSE 值数组,该区域的每个单元格都有一个值。由于我们使用了两次(一次用于“abc”,一次用于“def”),我们将得到两个数组。

接下来,我们将这些数组加在一起(使用 +),这将创建一个新的单个数字数组。此数组中的每个数字都是将原始两个数组中的 TRUE 和 FALSE 值相加的结果。在所示示例中,生成的数组如下所示:

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

我们需要将这些数字相加,但我们不想重复计算。所以我们需要确保任何大于零的值都只计算一次。为此,我们使用“>0”将所有值强制为 TRUE 或 FALSE,然后使用双负(–)强制为 1/0 。

最后,SUMPRODUCT 返回数组中所有值的总和。

辅助柱解决方案

使用帮助列单独检查每个单元格,问题就不那么复杂了。我们可以将COUNTIF与两个值一起使用(作为“数组常量”提供)。C5中的公式是:

=–(SUM(COUNTIF(B5,{“*abc*”,“*def*”}))>0)
Check if cell contains either x or y with COUNTIF

COUNTIF 将返回一个包含两项的数组:“abc”的计数和“def”的计数。为了防止重复计算,我们将项目相加,然后使用“>0”将结果强制为 TRUE/FALSE。最后,我们将 TRUE/FALSE 值转换为 1 和 0,并带有双负 (–)。

每个单元格的最终结果是 1 或 0。要获得范围内所有单元格的总数,只需对辅助列求和。

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

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

发表评论

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