最近在工作中遇到了一个需求,需要对某一列的单元格中的内容统计一下汉字的个数,如下图。
![2442706532861d45f4e555d41e1b7cfa.png](https://i-blog.csdnimg.cn/blog_migrate/8384492e65cc2739ea7696b2a57fdcf6.jpeg)
查看了一下Excel中的相关函数,目前没有发现能够直接实现该功能的函数。于是乎,我进行了一番思考,想到了一个思路,我们可以先将标点符号进行替换,然后再统计身下的字符的个数不就行了嘛。今天就给大家介绍一些这个技巧吧。首先我们还是先来介绍一下用到的两个函数SUBSTITUTE和LEN吧。
一、基本函数介绍
1. SUBSTITUTE
功能:将一个字符串中的部分字符串以新字符串替换。
语法:SUBSTITUTE(Text,Old_text,New_Text,Instance_num)
参数解释:
Text:不可省略参数。为需要替换其中字符的文本,或对含有文本的单元格的引用。
Old_text:不可省略参数。为需要替换的旧文本。
New_text:不可省略参数,但有默认值空。用于替换 old_text的文本。
Instance_num:为一数值,用来指定以new_text 替换第几次出现的old_text。如果指定了instance_num,则只有满足要求的 old_text 被替换;如果缺省则将用 new_text 替换 TEXT 中出现的所有 old_text。
2.LEN
功能:获取字符串的长度
语法:Len(Text)
参数解释:
Text:为必需参数,表示要查找其长度的文本,空格将作为字符进行计数。
二、具体实现
根据以上的介绍,小伙伴们应该能想出思路了吧,我们通过嵌套SUBSTITUTE对文本中的标点符号(如:逗号、句号、顿号、感叹号、问号等)替换为空值,返回替换后的文本。然后再使用LEN函数来求汉字的个数。公式为:=LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,",",""),"。",""),":",""),";",""),"!",""),"?","")," ",""))。这样就可以得到如开头所演示的结果。
![a5af1ca0448cf4560e490f24760536e4.png](https://i-blog.csdnimg.cn/blog_migrate/329fbc2bf8d730ca065d5891cd65cf8b.jpeg)
三、扩展应用
根据以上的介绍,其实我们可以在很多场景下进行应用哟,这里再给大家介绍一个场景,如下所示每个部门的人员如下,需要统计每个部门的人数。
![8310b074038421c18963721aac29d60d.png](https://i-blog.csdnimg.cn/blog_migrate/abcf0090d8522c125c1cfef817c95d52.jpeg)
同样使用SUBSTITUTE函数先替换掉顿号后计算一个长度,然后再计算个没有去掉顿号的长度,这样就根据顿号的个数+1计算出人数啦。公式为:=LEN(B2)-LEN(SUBSTITUTE(B2,"、",""))+1,结果如下:
![9638cf8ab8579c9db57ff63b3350a378.png](https://i-blog.csdnimg.cn/blog_migrate/ef9bf089a6d8c9a6a1638650639b1ee2.jpeg)
今天的内容就分享到这里啦,如果需要获取本教程的演示文件,请关注我后私信【统计汉字】获取。