excel学习库

excel表格_excel函数公式大全_execl从入门到精通

EXCEL如何统计单元格内特定字符的重复次数

这个月又轮到小王帮几个部门订午餐外卖了,定点餐厅提供了5个套餐,8个部门每天中午会通过微信各自报需求来。上一轮小王就出过几次岔子,多订少订都有发生,这轮改用EXCEL来帮助精确统计,表格设计好了,该怎么实现快速计算每种套餐的数量呢?

诉求拆解:

可以看出来,每个部门的套餐需求数量不一,选1到3个的都有。经过分析,我们要做的就是统计每种套餐在部门选择这个单元格里出现的次数。

方法摸索:

统计次数,首先会想到COUNTIF函数,但是COUNTIF是在一群单元格中,统计某个字符的次数,其最小统计范围是一个单元格,而现在我们要统计的是单元格内的字符出现次数,不能适用。

有种方法很巧妙,比如B2单元格内字符长度是11(总字符长度),想知道B2里“套餐1”出现了几次,我们先看看如果把B2里面的“套餐1”去掉,还剩多少个字符(剩余字符长度)?8个。11-8=3。为什么要做减法?巧就巧在这里,你看,“套餐1”的字符长度是3(目标字符长度),这里我们算一下(11-8)/3=1,哎,这不就是次数么?

还有点懵是吗?来看看B5,还是这种套路,总字符长度11,剩余字符长度5,那么套餐4 出现(11-5)/3=2次。看明白了吧?

总结下,目标字符出现次数=(总字符长度-剩余字符长度)/目标字符长度。

小兴奋一下,字符长度用LEN函数直接可以求,不过这个“剩余字符长度”怎么求呢?用SUBSTITUTE函数试试,SUBSTITUTE可以把B2中的“套餐1”替换为空,剩下再用LEN算字符,不就是“剩余字符长度”了么?函数用法:SUBSTITUTE(总字符,准备替换的字符,要换成的字符,替换第几次出现的字符),这里我们用不上第4参数,第3参数可以用""来表示删除准备替换的字符;外面再套个LEN函数就可以。

公式为LEN(SUBSTITUTE($B2,"套餐1","")),结果为8。或者直接删除SUBSTITUTE的第3参数,LEN(SUBSTITUTE($B2,"套餐1",))

好的,到这一步我们就差不多了:

C3=(LEN($B2)-LEN(SUBSTITUTE($B2,C$1,"")))/3

这里的分母3是因为套餐的字符数都是3,所以直接用,否则可以用LEN(C$1)来代替。注意绝对引用(可以按F4键切换引用方式,有Fn键的笔记本电脑得按Fn+F4),以下用分步录屏来演示下操作。

然后我们就可以拖拽填充所有单元格,得到我们想要的结果。

本篇我们用了一个实例来演示如何统计在单元格内特定的字符数,希望可以活学活用。

MORE:实际生活中,可能会遇到“套餐1(2份)”之类的写法,就不能硬套这种方法了。可以手工改成我们的样式,或者直接采用腾讯文档等在线文档、调查问卷让各部门自己填写然后自动统计好。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接