分享

统计单元格内数字字符串,不重复数字个数!

 Excel情报局 2023-08-10 发布于河北

Excel情报局

职场联盟Excel

生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN

    

1

职场实例

小伙伴们大家好,今天我们来讲解一个Excel职场实例问题咨询:如何统计单元格内数字字符串,不重复数字个数?这个问题的难点在于要统计的数字字符串在单元格的内部,而不是统计不同单元格之间的数字字符串,这就给问题的解决留下了不小的难度

如下图所示:

A列为一列原始数据,每个单元格中都是数字字符串,数字字符串的位数不尽相同,并且每个单元格数字字符串中数字有重复值,我们想要在对应的B列统计出单元格内不重复数字的个数。比如A2单元格中的数字字符串为“112345”,不重复的数字为“12345”,即不重复数字个数为5个




2

解题思路

我们仍然是搜寻Excel的三个常规函数(ROW函数、FIND函数与COUNT函数),组合嵌套使用,发挥其最大的作用,快速的解决这个问题。


下面我们就来看一下具体操作方法。


我们在B2单元格输入函数公式:
=ROW($1:$10)

ROW 函数用来找到某个单元格在第几行,也就是寻找它的行号。


函数公式:

=ROW(单元格) 

举个例子:

=ROW(C5),得到行号结果为5 

选中公式,按下F9键,查看ROW公式返回数组元素:
{1;2;3;4;5;6;7;8;9;10}
即用ROW函数返回第1行至第10行每行的行号1~10,结果以常量数组存储。

因为要统计的数字字符串肯定是在0~9之间的10个数字,任意组合而成的
ROW($1:$10)返回数组:
{1;2;3;4;5;6;7;8;9;10}
所以我们要在此基础上各个元素减去1,完善B2单元格输入函数公式变为:
=ROW($1:$10)-1
选中公式,按下F9键,查看ROW公式返回数组元素:
{0;1;2;3;4;5;6;7;8;9}

我们继续完善B2单元格中的公式变为:
=FIND(ROW($1:$10)-1,A2,1)

FIND函数用来找到某个字符在某个单元格中的位置。

函数公式:

=FIND (搜索字符串, 要搜索的文本, [开始位置]) 


搜索字符串:是要查找的字符串(找谁) 

要搜索的文本:是包含要查找关键字的单元格,就是说要在这个单元格内查找关键字(在哪找) 

开始位置(选填):指定开始进行查找的字符数。比如开始位置为 1,表示从单元格内第一个字符开始查找关键字,1 可以省略(从第几位开始找) 


即用FIND函数分别查找数组中{0;1;2;3;4;5;6;7;8;9},0~9每个数字在A2单元格数字字符串中首次出现的位置,没有出现过的则以错误值#VALUE!显示,结果仍然以内存数组存储,选中公式,按下F9键,查看数组结果:

={#VALUE!;1;3;4;5;6;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

我们发现内存数组中:
{#VALUE!;1;3;4;5;6;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
显示数字的即为不重复数字首次出现的位置,所以只要计算出常量数组中数字的个数,就可以统计出单元格内数字字符串,不重复数字个数。
我们继续完善B2单元格中的公式变为:
=COUNT(FIND(ROW($1:$10)-1,A2,1))

COUNT函数用来统计常量数组中数值的个数。

顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。
 

 

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多