一、常用提取字符的函数O6k七二检测
1、LEFT、RIGHT、MID、FIND、LEN、LENBO6k七二检测
LEFT、RIGHT、MID三个函数从英文含义上讲依次为左、右、中,也就是分别从左边、右边、中间提取字符。O6k七二检测
LEN函数和LENB函数的作用就是计算文本字符串的长度,它的结果是返回一个数字,两者的区别在于LEN函数会忽略中文和全角符号等双字节字符,而LENB函数会将1中文字符计算为2个字符。O6k七二检测
2、一般应用O6k七二检测
例如我在A1输入文本日期“2022-09-24”O6k七二检测
提取年:=LEFT(A1,4),从A1单元格左边开始提取4个字符。O6k七二检测
提取月:=MID(A1,6,2),月份从6个字符开始,长度为2个字符。O6k七二检测
提取日:=RIGHT(A1,2),从A1单元格右边开始提取2个字符。O6k七二检测
查找“-”出现的位置:=FIND("-",A1),结果为5,FIND函数的第三个参数忽略,表示从字符串的第一个字符开始搜索。O6k七二检测
3、复杂应用O6k七二检测
在很多得公路资料中,例如压实度、平整度、弯沉等等,经常需要提取出段落桩号中的起始和终点路程数,方便我们计算段落长度,再根据段落长度计算出检测频率等等。如图:桩号中“K”后面的数字代表千米,“+”后面的数字代表米,这里需要在E列计算段落长度。O6k七二检测
提取小里程m数:O6k七二检测
通过观察可以发现,要提取第一个“K”和第一个“+”之间的字符,如B1单元格中的55,,先要找到这两个字符第一个出现的位置,=FIND("K",B2)=1、=FIND("+",B2)=4,再用MID 函数提取中间的字符,O6k七二检测
=MID(B2,FIND("K",B2)+1,FIND("+",B2)-1-(FIND("K",B2)))O6k七二检测
K字符在第1个位置,需要从K后面的一个字符开始提取,所以MID函数开始位置为FIND("K",B2)+1,要提取的结束位置为+前面的一个字符,提取长度等于结束位置减去开始位置加1,上面公式简化了一下。O6k七二检测
提取B2单元格中的466O6k七二检测
从字符“+”开始,字符“-”结束O6k七二检测
=MID(B2,FIND("+",B2)+1,FIND("-",B2)-(FIND("+",B2)+1))O6k七二检测
C2单元格公式O6k七二检测
=MID(B2,FIND("K",B2)+1,FIND("+",B2)-1-(FIND("K",B2)))*1000+MID(B2,FIND("+",B2)+1,FIND("-",B2)-(FIND("+",B2)+1))O6k七二检测
小里程桩号=55*1000+466=55466O6k七二检测
提取大里程m数:O6k七二检测
这个相对复杂一些,主要是改变FIND函数的第三个参数,小里程中都是从第一个位置开始,但后面的字符“K”和“+”都是第二次出现,开始搜索位置应该从第一次出现的位置后面一个字符开始搜索。O6k七二检测
=FIND("K",B2,FIND("K",B2)+1)、FIND("+",B2,FIND("+",B2)+1)O6k七二检测
MID函数“+”后面的提取个数可以多一些O6k七二检测
D2单元格公式=MID(B2,FIND("K",B2,FIND("K",B2)+1)+1,FIND("+",B2,FIND("+",B2)+1)-(FIND("K",B2,FIND("K",B2)+1)+1))*1000+MID(B2,FIND("+",B2,FIND("+",B2)+1)+1,9)O6k七二检测
小里程桩号=55*1000+921=55921O6k七二检测
长度=55921-55466=455O6k七二检测
上表中需要特别注意的是:桩号列字符如“K”、“+”、“-”等等,一定要大小写一致,在同一模式输入,否则可能会造成公式错误,可以先用查找替换的方法将字符改成统一格式。O6k七二检测
提取字符函数原理比较简单,主要是要清楚中间的逻辑顺序。O6k七二检测 |