excel提取破折号后面的文字 (excel计算公式去掉文字符号)

记得之前在讲日期的那一篇里提到了一种转换日期格式的方法,用来把欧洲日期(日.月.年)改成正常日期,当时用的公式是这样:

=DATE(RIGHT(x,4),MID(x,4,2),LEFT(x,2))

观察仔细的亲们应该能注意到,这个公式在date里面套用了三个不同的函数,而且,这三个函数都是用来处理文本的

1) LEFT(x,位数) 意思是从左边第一位开始取几个字

2) RIGHT(x,位数) 对应从右边开始取几个字

3) MID(x,从第几个字开始,取几位数) 指定好位置,从中间取一段字

由于在日期的例子中,文字总体不长,而且取第几位数相对来说也比较固定,所以相对来说是个比较简单直白的使用方式

但是,有简单就有复杂,由于这三个函数都是基于字符的位置和长度来确定提取方式的,所以当需要的位数不太固定或这位置不太固定时,就需要搭配其他公式来使用了,以下举几个例子:

需要的位数是整段文字减去一个固定长度时,可搭配LEN(计算整段字的长度)使用

=LEFT(x,LEN(x)-需要去掉的长度)

=RIGHT(x,LEN(x)-需要去掉的长度)

不确定位置,从某段特定的文字(比如"abc")开始取一段长度,这时可以搭配FIND使用

=MID(x,FIND("abc",x),取几位数)

当然,这里不用FIND改用SEARCH效果也是一样的,区别仅仅是SEARCH不分大小写

适当组合的情况下,可以说这种文字处理的方式还是挺灵活的~~~就是有时候公式看起来会略有一点点繁琐

整段文字取到某个特定符号(例如"/"之前)

=LEFT(x,FIND("/",x)-1)

=MID(x,1,FIND("/",x)-1)这个跟上面的LEFT公式功能一样,只是OFFICE的帮助文档里出现了我也就顺便放一下

使用这些公式的时候还可以多一些想象力,虽说它们的本职工作是用来处理文字的,但如果用来做对数字作截尾取整好像也还挺OK,比方说这样:

=LEFT("12.43",FIND(".", "12.43")-1)计算结果12

当然,有从一段文字当中取出来的技术,就同样有保留两端,从当中去掉一节的公式,比方说REPLACE

公式:REPLACE(x,从第几位开始,取几位数,"替换成什么")

举例:=REPLACE("12.43", FIND(".", "12.43"),1,"/")把12.43中的小数点换成斜杠/,计算结果12/43

还有个函数名比REPLACE难记点但公式整体反倒简洁点的,叫SUBSTITUTE

=SUBSTITUTE("12.43",".","/") 计算结果和上面一个REPLACE一样,也是12/43

但是相对来说,SUBSTITUTE还有个特殊的优势,就是需要替换的内容在一串文字中重复出现的情况下,它可以指定替换位置,应用如下:

=SUBSTITUTE("2018.09.04" ,".","/")不指定位置时全部替换,计算结果2018/09/04

=SUBSTITUTE("2018.09.04" ,".","/",1)指定替换第一个点,计算结果2018/09.04

=SUBSTITUTE("2018.09.04" ,".","/",2)指定替换第二个点,计算结果2018.09/04

补增一个Tip:文字处理的这些公式大多都对字段的位置敏感,所以有必要的情况下可以在提取文字前用TRIM先去掉多余空格

嗯,今天应该算是整理得挺完整了吧~~

excel公式截取数据前两位,excel取文字公式