Google Sheets技术问询:如何统计含"P-"但排除"AP-"的单元格
电子表格统计特定评分类型的正确公式
我的电子表格包含多种评分类型,目标是用COUNTIF公式统计各类别数量:
- 统计"AC-"时,用公式
=countif(B:B5,"*AC-*")能得到正确结果1; - 但统计"P-"时,用
=countif(B:B5,"*P-*")得到结果3,因为该公式会匹配"P-Redo"、"AP-Superb"、"P-Poor"这类条目,而我需要只统计含独立"P-"的内容,忽略"AP-Superb"。 - 曾尝试
=SUMPRODUCT(REGEXMATCH(B:B5, "(^)P-")),但正则表达式不正确。
表格数据如下:
| Name | Type |
|---|---|
| Kevin | AC-Mediocre, P-Redo |
| Linda | AB-Decent, AP-Superb |
| Jen | P-Poor |
解决方案
方法1:使用SUMPRODUCT+正则匹配
修正正则表达式,匹配单元格开头或逗号空格后的P-,公式如下:
=SUMPRODUCT(--REGEXMATCH(B:B5, "(^|, )P-"))
- 正则
(^|, )P-:^匹配单元格开头,,匹配条目分隔符,确保只统计独立的P-开头的评分,排除AP-Superb中的P-; --将REGEXMATCH返回的布尔值(TRUE/FALSE)转换为1/0,SUMPRODUCT对结果求和得到数量。
方法2:使用COUNTIF组合(无需正则)
通过两个COUNTIF分别统计两种情况并求和:
=COUNTIF(B:B5,"P-*") + COUNTIF(B:B5,"*, P-*")
COUNTIF(B:B5,"P-*")统计单元格开头为P-的条目;COUNTIF(B:B5,"*, P-*")统计单元格中包含, P-(即条目中间的P-开头评分)的内容;- 两者相加得到符合要求的总数量。
以上两种公式都会返回正确结果2,对应表格中的"P-Redo"和"P-Poor"。
内容的提问来源于stack exchange,提问作者Ken
相关产品推荐
相关产品推荐

