将通配符与 Countifs 结合使用,并在单元格中使用搜索条件

Using Wildcard with Countifs with Search Criteria in Cell

我有一组数据单元格 B1:C5,其中包含字母数字字符及其旁边数据的混合测试。我正在尝试为单元格 B8:C10 创建一个公式,它将解析 A2:C5 中的数据,并使用 CountIfS 函数计算与样本和值 1 匹配的单元格数。问题发生在一些数据,其测试名称包括多个样本的平均值。我希望这些测试中的每个样本都被计算在内。这是 excel sheet:

的可视化
Input
+----+------------+---------+---------+
|    |     A      |    B    |    C    |
+----+------------+---------+---------+
|  1 | Test       | Value 1 | Value 2 |
|  2 | 1          | TRUE    | ...     |
|  3 | 14A        | FALSE   | ...     |
|  4 | 1, 14A Avg | FALSE   | ...     |
|  5 | 1, 53 Avg  | TRUE    | ...     |
+----+------------+---------+---------+

Current Output
+----+------------+---------+---------+
|    |     A      |    B    |    C    |
+----+------------+---------+---------+
|  7 | Specimen   | TRUE    | FALSE   |
|  8 | 1          | 1       | 2       |
|  9 | 14A        | 0       | 2       |
| 10 | 53         | 1       | 0       |
+----+------------+---------+---------+

Desired Output
+----+------------+---------+---------+
|    |     A      |    B    |    C    |
+----+------------+---------+---------+
|  7 | Specimen   | TRUE    | FALSE   |
|  8 | 1          | 2       | 1       |
|  9 | 14A        | 0       | 2       |
| 10 | 53         | 1       | 0       |
+----+------------+---------+---------+

我一直在单元格 B8 中使用以下公式:(忽略 $ 以便于阅读)

=COUNTIFS(A1:A5, "*" & A8 & "*", B1:B5, B7)

我 运行 遇到的问题是公式如何计算样本 1;它不计算第 2 行中的测试 1,它计算第 3 行中的测试 14A。我找到了一个解决方案,该解决方案涉及在平均测试中每个样本的末尾放置一个逗号并使用以下公式:

=COUNTIFS(A2:A5, A8, B2:B5, B7) + COUNTIFS(A2:A5, "*" & A8 & ",*", B2:B5, B7)

使用此方法的问题是我必须更改平均测试的名称(我想避免的解决方案)以及我将要评估的所有其他值,它将使公式很长很笨重。我想知道是否有一种更简单的方法可以将上面的两个 CountIfS 合并为一个,而无需操纵测试或样本的名称。

您将需要使用 SUMPRODUCT() 和其他一些公式来解析数据:

=SUMPRODUCT((ISNUMBER(SEARCH(" " & $A8 & " "," " & SUBSTITUTE($A:$A,","," ") & " ")))*($B:$B=B))

通过将,改为空格,并在字符串的前后添加空格,我们还可以用空格将搜索值括起来,以确保我们正在寻找完整的条目而不是部分。

然后每次在每个字符串中找到完整值并且值一等于 header 时,SUMPRODUCT 就会计数。