设置主页 | 收藏本站 Excel学习网-公益型的EXCEL在线学习网站,助您轻松办公!

计算单元格内指定的字符数

2019年11月08日 14:40 发布来源:Excel学习网

 据说昨天Excel有两种bug发生率比较高:
一种悲催是这样:

更加悲催的是这样:

哈哈哈,言归正传,今天和大家分享一个字符计算的公式实例。
如下图所示,要统计A1单元格内包含几个“花”字?

公式一:
=LEN(A1)- LEN(SUBSTITUTE(A1,"花",))
公式难度:☆
公式中有两个函数,分别是LEN和SUBSTITUTE。
LEN函数用于计算字符长度。
SUBSTITUTE 函数用于替换字符串中的部分内容。
该函数的用法是:
SUBSTITUTE(要处理的单元格或文本,要换掉啥,用啥来替换,替换第几次出现的字符)
如果指定了第四参数,则只有指定条件的旧文本被替换;否则会将全部旧文本都更改为新文本。

接下来咱们看看公式各个部分的意思:
1、LEN(A1)部分,作用是计算出A1单元格的字符总数。
2、SUBSTITUTE(A1,"花",)部分,作用是替换掉A1单元格内所有的“花”。
3、LEN(SUBSTITUTE(A1,"花",))部分,计算出替换掉“花”之后的字符个数。
4、最后使用A1单元格的字符总数,减去替换掉“花”之后的字符个数,计算出A1 单元格内有几个“花”。
本例中SUBSTITUTE第三参数省略参数,相当于将旧字符删除。第四参数省略,表示将所有的“花”都进行替换。

公式二:
=COUNT(0/(MID(A1,ROW(1:100),1)="花"))
公式难度:☆☆☆
该公式是数组公式,输入完毕,要按住Shift+ctrl不放,然后按回车键。
接下来咱们简单说说公式的意思:
1、ROW(1:100)部分,得到1、2、3、4……100的一组序号。
2、MID(A1,ROW(1:100),1)部分,用MID函数分别从A1单元格的第1~100位开始,截取长度为1的字符。
得到一个内存数组结果:
={"咏";"花";"凝";……;"";""}
3、再用等式判断这个截取到的数组结果中的元素是否等于“花”,得到由逻辑值TRUE和FLASE组成的新内存数组:
{FALSE;TRUE;FALSE;……FALSE;FALSE}
4、用0除以这些逻辑值,0除以TRUE结果为0;0除以FALSE结果为错误值#DIV/0!。
5、最后用COUNT函数计算出其中的数值个数,也就是“花”的个数了。

原创文章如转载请注明:转载自Excel学习网 [ http://www.excelxx.com/]
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/10919.html
分享到:
网站地图 | XML地图 | 免责声明 | 关于我们 | Excel学习网:优秀的EXCEL在线学习和资源分享网站。
版权所有: CopyRight © 2013-2018 www.excelcn.com All Rights Reserved.
豫ICP备12002644号