无需VBA,如何用Excel公式计算标签共存的符号计数表?
计算Excel中标签共存计数的无VBA公式方法
前提假设
假设Sheet1的结构如下(数据从第2行开始,第1行为表头):
- A列:Symbol(符号)
- B列:Tag1(标记,可用1/0或"是"/"否"表示是否拥有该标签)
- C列:Tag2
- D列:Tag3
Sheet2为标签共存矩阵,例如B3单元格对应Tag1与Tag2的共存符号数量,B4对应Tag1与Tag3,C4对应Tag2与Tag3。
可用公式方案
方案1:SUMPRODUCT函数(支持数组运算,兼容多数Excel版本)
如果标签用1/0表示:=SUMPRODUCT(Sheet1!$B$2:$B$100*Sheet1!$C$2:$C$100)
- 原理:
*相当于逻辑"与",只有当对应行的Tag1和Tag2都为1时,乘积为1,否则为0;SUMPRODUCT对所有行的乘积求和,得到同时拥有两个标签的符号总数。
如果标签用文本(如"是"/"否")表示:=SUMPRODUCT(--(Sheet1!$B$2:$B$100="是"), --(Sheet1!$C$2:$C$100="是"))
- 原理:
--将布尔判断结果(TRUE/FALSE)转换为1/0,SUMPRODUCT对两个数组的对应值相乘后求和。
方案2:COUNTIFS函数(更直观的多条件计数)
如果标签用1/0表示:=COUNTIFS(Sheet1!$B$2:$B$100,1,Sheet1!$C$2:$C$100,1)
如果标签用文本表示:=COUNTIFS(Sheet1!$B$2:$B$100,"是",Sheet1!$C$2:$C$100,"是")
- 原理:COUNTIFS直接统计同时满足多个条件的行数,即同时拥有两个标签的符号数量。
批量填充技巧
设置公式时,将数据行用绝对引用(如$B$2:$B$100),列用相对引用,拖拽单元格即可自动适配不同标签组合。例如在Sheet2的B3输入公式后,拖拽到B4会自动将Tag2的列(C列)替换为Tag3的列(D列)。
内容的提问来源于stack exchange,提问作者AliM67
相关产品推荐
相关产品推荐

