
概括
要创建一个汇总表,统计现有组合列表中出现的成对项目的数量,可以使用辅助列和基于COUNTIFS 函数的公式。在所示示例中,单元格 H5 中的公式为:
=IF($G5=H$4,"-",COUNTIFS(helper,"*"&$G5&"*",helper,"*"&H$4&"*"))
其中helper 是命名范围E5:E16。
注意:此公式假设给定组合中的项目不会重复(即 AAB、EFE 不是有效组合)。
通用公式
=COUNTIFS(range,"*"&$item1&"*",range,"*"&item2&"*")
解释
我们想统计 B、C 和 D 列中的项目同时出现的次数。例如,A 与 C 同时出现的次数,B 与 F 同时出现的次数,G 与 D 同时出现的次数,等等。这似乎是 COUNTIFS 函数的完美应用场景,但如果我们尝试添加条件,查找跨越三列的两个项目,它就无法正常工作了。
一个简单的解决方法是将所有项目合并到辅助列的单个单元格中,然后使用带通配符的COUNTIFS 函数来统计项目数。我们使用辅助列(E) 来实现这一点,该辅助列使用CONCAT 函数将 B、C 和 D 列中的项目合并。E5 单元格中的公式向下复制如下:
=CONCAT(B5:D5)
或者,您也可以 手动连接 这些值,如下所示:
=B5&C5&D5
由于组合中不允许重复项,公式的第一部分会排除匹配项。如果两项相同,公式会返回一个连字符或破折号作为文本:
=IF($G5=H$4,"-"
如果项目不同,则运行 COUNTIFS 函数:
COUNTIFS(helper,"*"&$G5&"*",helper,"*"&H$4&"*")
这里,COUNTIFS 函数配置为统计“对”项的数量。只有当 G 列和第 4 行的对应值同时出现在辅助列中时,才会对该对项进行计数。由于字母可能出现在任何位置,因此在值的两侧都添加了星号 (*)通配符,以确保无论字母出现在单元格中的哪个位置,匹配项都会被计数。请注意,对 G5 和 H4 的引用是混合引用,以便在将公式复制到表格中时根据需要锁定列和行。










