如何在WPS中统计特定字符"9"的出现次数 - 公式详解与应用 点击使用AI助手 了解更多
发布于 2024-10-12 liusiyang 225 编辑
提问贴传送门:https://bbs.wps.cn/topic/19594
🔔 | 原问题是统计一段文本中出现"9"的次数 |
这时新路老师已经回答了,很完美的回答了。
本帖为新路老师的回答补充两条公式
这个公式使用ROW(INDIRECT("1:" & LEN(A1)))生成一个数组,该数组包含从1到文本A1长度的数字。然后,它使用MID函数提取每个字符,并使用FIND函数查找"9"。ISNUMBER(FIND(...))会返回一个数组,其中找到"9"的位置为TRUE,否则为FALSE。--运算符将TRUE转换为1,将FALSE转换为0,然后SUM函数计算这些1的总和,即"9"的出现次数。
ninePositions, IFERROR(FIND("9", chars), ""),
countNines, SUM(--(ninePositions <> "")),
countNines)
这个公式里LET函数定义了几个中间变量(chars, ninePositions, countNines),使得公式更易读且更易于维护。ninePositions变量包含了每个字符位置是否包含"9"的信息(如果包含则为位置,否则为空字符串),然后countNines计算非空字符串的数量,即"9"的出现次数。
👋 | 随后提问者跟着提出了单元格里的数据是"5,9,19,29,39,49“只统计单独的“9”出现的次数,比如"19"、"29"中的9不统计在内,使用的是最新版WPS |
既然提问者用的是最新版的WPS,那么这个要求就要换个公式来计数
这个公式的工作原理如下
TEXTSPLIT(A1, ",") 将A1单元格中的文本按逗号分隔成一个数组。
TEXTSPLIT(A1, ",")="9" 检查数组中的每个元素是否等于"9"。
这将返回一个数组,其中包含TRUE和FALSE值,表示每个元素是否等于"9"。
-- 双负号运算符将TRUE转换为1,将FALSE转换为0。
SUM(...) 将所有1相加,得到单独出现的"9"的总数。
希望以上回答能让提问者满意
原文链接:https://bbs.wps.cn/topic/19601