excel如何去重统计户数_公式解读第三期 单元格中数字如何去重排序?

公式解读 第三期 -单元格中数字的去重排序! 本期涉及到函数较多,你可以一次性根据这个案例,学习多少很多常用 函数的用法,同时我也会讲解思路,这个很重要,思路决定了出路。 直接先看一下我们的效果图:

效果图

42efecf32de7fd40f2b520d847eed277.png 公式: =REPT(0,ISNUMBER(FIND(0,A2)))&SUBSTITUTE(SUM(ISNUMBER(FIND(ROW($1:$9),A2))*ROW($1:$9)*10^(10-ROW($1:$9))),0,) 庖丁解牛 : 整体来看,公式分两个部分(FM表示FORMULA): FM1:REPT(0,ISNUMBER(FIND(0,A2))) FM2: SUBSTITUTE(SUM(ISNUMBER(FIND(ROW($1:$9),A2))*ROW($1:$9)*10^(10-ROW($1:$9))),0,) 下面我们分别剖析:

第一部分

c6893f2b0acf73b9f3530fa2391fac85.png

公式:REPT(0,ISNUMBER(FIND(0,A2))) 功能:判断A2中是否含有0,如果有就显示0,否则显示为空 剖析: 1.1FIND(0,A2):查询A2中是否有0,如果有就会返回在 第一次 出现在其中的位置,结果是一个数值,否则返回#VALUE!错误 示例:从截图中可以看出,10中含所有0,0在第二位,所以返回2;11中没有0,所以返回#VALUE!错误 9ff561a2d426c8b9fe759721d0ec558f.png 1.2ISNUMBER:比较简单,如同其名,用于判断是否是数值。在1.1中,我们判断的结果要不是数值,要不错误值,返回TRUE或者FALSE e699ffe7fa968e17f8ce4819f3ada2f7.png 1.3 、REPT:这是第一部分的重点,因为很少有人这么用。一般肯定想到IF函数。其实效果一样,但是简洁一些! 其中有两点也是使用比较巧妙的 a、FALSE在特定情况表示0,TRUE表示1 b、REPT:重复函数,这里重复1次或者0次,重复0就显示空(重点) 如此我们便解决了是否包含0的问题。 1dce22d7d3a5203f1d02f3a0d2611f1d.png

第二部分

c6893f2b0acf73b9f3530fa2391fac85.png

SUBSTITUTE(SUM(ISNUMBER(FIND(ROW($1:$9),A2))*ROW($1:$9)*10^(10-ROW($1:$9))),0,) 第二部分相对复杂一些,不过也不用担心,我们一般遇到这种公式是从外向内解析的。但是给大家解释我们就得从内开始,否则你不知道内部,很难看懂。 2.1 、ISNUMBER(FIND(ROW($1:$9),A2)):之所以直接整体拿出来讲,是因为和我们第一部分分类似,只是这次查询的不是一个0,而是查询1-9,看看是否在其中出现过,如果出现返回其对应的位置,否则错误,通过ISNUMBER知道是否存在。 示例:通过按下F9,我们可以看到显示的对应的结果 {TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE} 只有起三个是TRUE,说明只包含1-3,其他无 3516cc6f50ac20c8275c8958077bde50.png 2.2 、我们我们把2.1基础上再乘以1-9,一一对应相乘,那么TRUE就是返回对应的数值,否则返回0 ISNUMBER(FIND(ROW($1:$9),A2))*ROW($1:$9) 结果: {1;2;3;0;0;0;0;0;0} 现在是一个常量数组,我们要向他们可以123这种,只需要把他们扩大10对次方,然后相加即可 比如{1000,200,30} 相加就是1230 d8967923e5960acf04dcd346a1328b31.png 2.3 、10^(10-ROW($1:$9)):此部分就是我们上面说的10的次方 这里相当于: 10^({9;8;7;6;5;4;3;2;1}) 如果还看不明白 我们再展开就是: {10^9,10^8,10^7,10^6,10^5,10^4,10^310^2,10^1} 也就是: {1000000000;100000000;10000000;1000000;100000;10000;1000;100;10} 在2.2中我们得到了,如果存在1-9的中的数就是线上对应的数值,否则就返回0,那么二者相乘结果: ISNUMBER(FIND(ROW($1:$9),A2))*ROW($1:$9)*10^(10-ROW($1:$9)) {1000000000;200000000;30000000;0;0;0;0;0;0} 这里更多的是数理逻辑要清晰。 034ea8a34ca24447be5ac91c33e52cac.png 2.4 SUM(2.3的结果):就是把{}中的每个数值相加,可以得到1230000000 0a445917f3ce571f227513a33faa9cce.png 最后我们把0替换掉即可 2.5SUBSTITUTE(2.4的结果,0,""),SUBSTITUTE函数提到替换作用,把0替换成空。 c5cd43cc59128c44f33919191f4b7a31.png 再测试一下其他数据: 2c1b1fa31ad015814991a123b05c400f.png 如果有0: 718f84133f7f21c2f57ed99ed8896327.png OK!本期公式庖丁解牛就到这里! 小编已尽力解析,如还有不懂的老铁,欢迎留言交流,或者私信我! 这里是 EXCEL办公实战,欢迎关注我们!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值