Excel:统计范围内值存在于指定字符串中的单元格数量
Excel统计指定范围中值存在于目标字符串的记录数量
方法1:通用兼容版(包含匹配)
适用于所有Excel版本,支持判断范围中每个值是否包含在目标字符串内(默认不区分大小写,需区分则将SEARCH替换为FIND)。
假设:
- 待检查的范围为
A1:A3(值:red、green、yellow) - 目标字符串所在单元格为
B1(值:red-green-blue)
公式:
=SUMPRODUCT(--ISNUMBER(SEARCH(A1:A3,B1)))
逻辑说明:
SEARCH(A1:A3,B1):逐个查找范围中每个值在目标字符串里的位置,找到返回数字,未找到返回错误值ISNUMBER(...):将查找结果转换为布尔值(找到=TRUE,未找到=FALSE)--:把布尔值转为1/0(TRUE=1,FALSE=0)SUMPRODUCT:对所有1/0求和,得到符合条件的记录数
方法2:Excel 365/2021 精确匹配版
如果目标字符串是用固定分隔符(比如示例中的-)分隔的独立内容,用这个方法可以实现精确匹配(仅当范围值完全等于目标字符串中的某一段时计数,避免包含匹配的误判)。
公式:
=SUM(--ISNUMBER(XMATCH(A1:A3,TEXTSPLIT(B1,"-"))))
逻辑说明:
TEXTSPLIT(B1,"-"):将目标字符串按-拆分为独立值数组(示例中得到{"red","green","blue"})XMATCH(A1:A3,...):查找范围中每个值在拆分后的数组里的位置,找到返回位置,未找到返回错误- 后续的
ISNUMBER、--、SUM逻辑与方法1一致,最终求和得到精确匹配的数量
内容的提问来源于stack exchange,提问作者Sg8107
相关产品推荐
相关产品推荐

