昨天我们聊了聊年终奖的计算,今天我们来说说区间统计问题!最后一个用法,可能是你从未见过,让你耳目一新! 这个问题如果我们把奖金的范围拆分成两列,显然这是一个新手级别的问题!
方法1 | 真想有一个Split函数,好吧!来了~遇到这种拆分问题,我想大部分同学都和我一样,希望能有一个Split函数,可以直接指定分隔符就拆分,可惜目前Excel还没有!
=SplitText($F2,"-",COLUMN(A1)) 什么?你说你不希望VBA,不想保存为xlsm,太麻烦!好吧,那我们就用正常函数处理吧!
=TRIM(MID(SUBSTITUTE(F2,"-",REPT(" ",10)),{1,10},10)) 这个思路一直以来都是按分隔符提取内容的经典方法,把指定分隔符,替换成足够多的空格,然后截取,再把多出的空格删除掉!唯一的要求替换的空格要大于每段内容的长度! 如果这个你也觉得吃力,好吧!我知道你想要的是什么了~ 太TM香了!你是不是在想,简单的拆分一下,搞那么多花里胡哨干什么? 技巧虽好,但是每次更新都需要操作一遍,公式则可以自动更新! 好像跑题了~ 既然如此,我们就干脆再补充一下,另一种方式方法,让你也学个全面!
方法4 | FILTERXML-我本身是一个网络函数,解析~=INDEX(FILTERXML("<a><b>"&SUBSTITUTE($F2,"-","</b><b>")&"</b></a>","//b"),COLUMN(A1)) FILTERXML本身是一个XML提取函数,一般大家可能不了解,可以简单学习一下xpath语法,即可完全驾驭这个函数,只是新知识,但是难度不大!=LOOKUP(C2,$H$2:$H$6,$G$2:$G$6)*C2 LOOKUP默认数据是升序的,可以返回小于等于查找值的最大值! 不管怎么样,我们都需要拆分之后才能处理,那么有没有什么方法,不用拆分,一步搞定呢!
=LOOKUP(C2,IMREAL($F$2:$F$6&"i"),$G$2:$G$6)*C2 什么?你说看不懂?看不懂正常的,IMREAL 八百年你可能都不会用上一次!看到上面说明了吗?这玩意是提取复数的额是实部系数!不懂! 立马打开百度,一顿搜索,好家伙,好像学过~什么时候忘记了~其实Excel中的方式几百个,没有谁能够全部精通,但是偶尔有意思的应用
|