首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用了SUBSTITUTE函数,再也不用一个一个的数人数了,半天的工作几秒钟就可以搞定

很多做统计工作的朋友经常会遇到一项即烦人又半点马虎不得的事情,那就是“数人数”,或者类似的问题。就是在一个单元格中有若干多个人名要数出它们的个数,又绝对不可以出错。

很多人数了一遍又一遍,但稍不留神最后还是出错了。因为涉及到年终的考核,或者奖金的分配,结果往往是被老板臭骂一顿。

辛苦工作半天,这委屈跟谁说呢?怎么办呢?

问题总要解决,如果你在无意中看到我的这篇文章,你肯定会得到解脱。这篇文章就是讲如何能快速地数出人名个数,而且不会出错!不会出错!不会出错!

看下面的实例,是某地产公司人员的销售业绩考核表,共分A,B,C,D四类,每类都有不用的人名,当然我这里只是列举了几个,实际的应用中可能会很多很多,老板要你在C列把人名数填上。

因为老板要根据你统计出来的总人数及各类的人员总数来分派年终奖金,所以,你不能出错。如果只是上表中的几个数据是很好办的,但如果是几百上千的数据那就头疼了。或许你用了大半天的时间数啊数,结果却是连自己心里都没把握。还是看强大的函数功能吧,这里引入SUBSTITUTE函数。

什么是SUBSTITUTE函数呢?就是在文本字符串中用new_text替代old_text的函数。

语法:

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。

本文的例子中需要在C3的单元格中输入一个公式,返回B3单元格的人名数,什么公式呢?就是

=LEN(B3)-LEN(SUBSTITUTE(B3,",",""))+1

公式讲解:

SUBSTITUTE(B3,",",""),是将B3单元格中出现的","替换为空。

LEN(B3)-LEN(SUBSTITUTE(B3,",",""))+1,是B3单元格总的长度减去将B3单元格中出现的","替换为空后的长度再加1,是什么意思呢?说的直观一点就是B3单元格中出现的“,”的次数再加1,这个数值就是人名数。看下面的公式截图:

那么为什么会有这样的推论呢?我们回过头再仔细的研究一下B3单元格中人名书写方式,发现是用逗号分隔的,有一定的规律,那么就是逗号的个数再加1就可以等于人名数了。原来如此!

所以这个公式的特点就是巧妙的利用了分隔符号的个数与人数之间的关系特点,巧妙的利用公司,节约了时间,提高了准确率。

我们看下面的输出结果:

非常的正确。

引申讨论:如果B3单元格人名的间隔不全是逗号该怎么处理呢?好办,只要再嵌套一层SUBSTITUTE函数就可以了。如人名之间还有用“.”分隔的,那么公式就可以书写成:

=LEN(B3)-LEN(SUBSTITUTE(SUBSTITUTE(B3,",",""),".",""))+1,其他的特例也可以依照此来处理的。

今日技巧总结

SUBSTITUTE函数就是在文本字符串中用new_text替代old_text的函数,可以嵌套;当数人名个数或其他类似问题时可以分析数据源,最后用长度差的方式来获得。

分享成果,随喜正能量

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609A1LJ8U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券