如何简化Google Sheets中统计两列匹配占比的公式?
Google Sheets两列区域逐行匹配百分比简化公式
最简实现方案
直接使用如下公式即可实现整段区域对比,无需逐行编写函数:
=SUMPRODUCT(--(B3:B22=C3:C22))/ROWS(B3:B22)*100
逻辑说明
- 逐行对比
B3:B22和C3:C22的数值,返回布尔值TRUE(匹配)/FALSE(不匹配) - 用
--将布尔值转换为数值(TRUE对应1,FALSE对应0),SUMPRODUCT求和后得到总匹配行数 ROWS(B3:B22)自动计算对比区域的总行数,后续调整对比范围时无需手动修改分母,容错性更高- 乘100直接输出百分比数值,也可删除
*100后将单元格格式设置为「百分比」,显示会更规范。
其他可选写法
如果你更偏好易读的逻辑结构,也可以选择以下两种实现:
- 显式数组运算写法:
=SUM(ARRAYFORMULA(IF(B3:B22=C3:C22,1,0)))/20*100
- 直接统计匹配结果写法:
=COUNTIF(ARRAYFORMULA(B3:B22=C3:C22),TRUE)/20*100
可选优化(排除空白行)
如果你的对比区域存在空白单元格,不想将空白行判定为匹配,可以使用如下优化公式:
=SUMPRODUCT(--(B3:B22=C3:C22),--(B3:B22<>""),--(C3:C22<>""))/SUMPRODUCT(--(B3:B22<>""),--(C3:C22<>""))*100
该公式只会统计B、C列均不为空的行的匹配率,避免空白值干扰统计结果。
内容的提问来源于stack exchange,提问作者Jered Odegard
相关产品推荐
相关产品推荐

