一、基础准备
1)、 ISERROR(公式)
判断公式计算结果是否出错,出错则返回true,否则返回 false;
=IF(ISERROR(原公式),"",原公式)
2)、FIND(find_text,within_text,start_num)
(https://baike.baidu.com/item/find%E5%87%BD%E6%95%B0/10346224?fr=aladdin)
-
left函数的语法为:LEFT(text, [num_chars])
其中text为要取得给定值的文本数据源,num_chars表示需要从左开始算提取几个字符数,其中每个字符按1计数。
例如:“=LEFT(12345678,3)”表示从字符”12345678“中取前三位字符,运行的结果为123。
-
right函数的语法为:RIGHT(text,[num_chars])
其中text为要取得给定值的文本数据源,num_chars表示需要从右开始算提取几个字符数,其中每个字符按1计数。
例如:“=right(12345678,3)”表示从字符”12345678“中取后三位字符,运行的结果为678。
-
mid函数的语法为:MID(text, start_num, num_chars)
其中text为要取得给定值的文本数据源, start_num表示指定从第几位开始提取,num_chars表示需要从指定位置开始算提取几个字符数,其中每个字符按1计数。
例如:“=MID(12345678,2,3)”表示从字符”12345678“中的第二位开始取三位字符,运行的结果为234。
-
几个函数的组合应用。
例如我们要从按照时间自动设置的编号“20150812145012”中提取年月日的数据,这时候日期函数就不适用了,利用函数left、right、mid就能实现这个目标。
公式为:
=LEFT(A2,4)&"年"&MID(A2,6,1)&"月"&MID(A2,7,2)&"日"
其中LEFT(A2,4)是取左边四位数,MID(A2,6,1)表示取第六个字符,MID(A2,7,2)表示从第七为开始去两个字符。公式与文字用”&“符号连接,得到的结果为
2015年8月12日。
二、 十进制转经纬度,经纬度转十进制
(https://jingyan.baidu.com/article/a378c960938851b3282830c3.html)
-
在A1和B1单元格中输入数据
-
十进制转经纬度
假如原始数据为十进制数据。在C3单元格中输入公示=TEXT(INT(A1),"0")&"°"&TEXT(INT((A1-INT(A1))*60),"00")&"′"&TEXT(((A1-INT(A1))*60-INT((A1-INT(A1))*60))*60,"00.00")&"″"
可以得到转换后的经度度分秒数值,纬度转换方法与此一样。
-
经纬度转十进制
在E1单元格中输入公式
=LEFT(A2,FIND("°",A2)-1)+MID(A2,FIND("°",A2)+1,FIND("′",A2)-FIND("°",A2)-1)/60+MID(A2,FIND("′",A2)+1,FIND("″",A2)-FIND("′",A2)-1)/3600
可以得到转换后的经度十进制数值,纬度转换方法与此一样。
三:经纬度转十进制,但可能只有 度分没有秒。(原创)
60进制: 1度=60分=3600秒
公式:
=IF(ISERROR((LEFT(C2,FIND("°",C2)-1)+MID(C2,FIND("°",C2)+1,FIND("′",C2)-FIND("°",C2)-1)/60+MID(C2,FIND("′",C2)+1,FIND("″",C2)-FIND("′",C2)-1)/3600)),(LEFT(C2,FIND("°",C2)-1)+MID(C2,FIND("°",C2)+1,FIND("′",C2)-FIND("°",C2)-1)/60),(LEFT(C2,FIND("°",C2)-1)+MID(C2,FIND("°",C2)+1,FIND("′",C2)-FIND("°",C2)-1)/60+MID(C2,FIND("′",C2)+1,FIND("″",C2)-FIND("′",C2)-1)/3600))
计算结果:
如果要保留小数位数 ,右键 设置单元格格式:
数值--小数位数