本文将使用:LEN(字符串):返回括号内字符个数SUBSITITUDE(字符串,被替换内容,替换为,被替换的序位号):返回替换后的字符串LEFT(字符串,提取位数)返回从左边提取后的字符串逆向思维:反其道行之的非常规思维方式
终于得空,准备将攒成堆问题,一一解决掉。
比如工作中,有小伙伴遇到这样的问题:
如何去掉最后一个字符
最后一位是字符"/",去掉他有两个办法:
- 一个是手动删,先要双击单元格,使之进入编辑状态,之后将光标移至最后,删除掉。
这个办法非常简单,只要光标定位准确即可。如果行数比较少,手动删最快,但如果有几十行、几百行数据,就不太实用了。既浪费时间,又容易出错。
表哥不喜欢手动,喜欢自动
公式法有两个思路:一种是常规思路,另一种的非常规的逆向思维。
- 首先,常规思路是使用公式模拟手动的方式。
先找到最后一位"/"的序位号,使用替换函数SUBSITITUDE将其替换为空。
官方给出的SUBSITITUDE语法
根据SUBSITITUDE函数的语法,需要确定:
(1)将要被替换的字符,(2)全部指定替换内容的个数。
红框内为"被替换内容的个数"
第(1),已经确认,即为"/"替换为空;
而第(2),有的小伙伴会奇怪,可选参数明明是被替换内容的序位号,为何却改为确认个数?
举例说明:
海可枯石可烂天可崩地可裂,我们肩并着肩手牵着手。——出自经典的《还珠3》片头曲
"可"有4个,若替换第4个,则被替换内容序位号="可"的个数=4
注意标黄色的格子,这里面一共有4个"可",而每个"可"被赋予一个被替换内容序位号。如果替换掉第4个"可",则其序位号=所有"可"的个数=4。
回到本文正题,替换掉最后一个"/"的序位号,等于全部"/"的个数。
如何计算全部"/"的个数?
有个小技巧,就是用全部文本内容的字符数,减掉不包含"/"字符数,即为全部"/"个数。
- 第1步,LEN(B2)用于求出全部文本字符数;
- 第2步,SUBSTITUTE(B2,"/","")用于替换掉全部"/";
- 第3步,前两步相减即为全部"/"的个数。
综上,以单元格C2为例,公式为:
C2=LEN(B2)-LEN(SUBSTITUTE(B2,"/",""))
之后,只要再用一次SUBSTITUTE,就可以实现目标,替换掉最后一个"/"。
以单元格E2为例,公式为:
E2=SUBSTITUTE(B2,"/","",C2)
以上是第一种方法,如果你觉得步骤有些繁琐,那么可以试试非常规方法,利用逆向思维解决问题。
逆向思维(ReverseThinking)是什么鬼?
当大家都朝着一个固定的思维方向思考问题时,而你却独自朝相反的方向思索,这样的思维方式就叫逆向思维。
逆向思维
最著名的一句逆向思维名言"如果我知道自己会在哪里死去,我就永远都不去那儿"。——查理芒格。
用正向思维翻译过来,意思为:远离那个的地点,就不会在那里死去,从而降低死亡的概率。
表哥Tips:
查理芒格是股神巴菲特的最重要的合作伙伴,他们一起经营的"伯克希尔哈撒韦"公司是全球迄今为止股价最高的一只。由于查理芒格的知识覆盖面非常之广,如同百科全书,创立的几十个思维模型,不但用以解决自己生意及生活的难题,也分享并帮助了很多人。而逆向思维就是其中的一个。表哥正在拜读《穷查理宝典》,感觉这个亿万富翁是个脚踏实地的热心老人,书中满满干货,不论是投资还是做人,都非常实用。强烈建议同学们读一读(一本正经地严肃脸)。
回到正题,既然文章开篇说到要去掉最后一个字符,根据逆向思维,那么是不是可以甩掉最后一个字符,只提取前面的字符呢?
没错,你想的很对!方法和步骤比常规思维简单得多。
思路:计算出所有字符的个数,提取时,将提取字符数减掉1,即得。
- 第1步,使用LEN(B2)计算出全部字符的个数;
- 第2步,上一步基础上减1,得出提取的字符个数;
- 第3步,使用从左提取函数LEFT,提取第2步的个数。
综上,以单元格C2为例,公式为
C2=LEFT(B2,LEN(B2)-1)
以上就是去掉最后一个字符的两个方法,你学会了吗?