度小数与度分秒互换
- 格式:xls
- 大小:28.50 KB
- 文档页数:2
一、度分秒值换算为度
首先要将单位符号都去掉,形成 1112233 的形式,分秒小于十的要在其前补0,必须如此,不然无法判断分与秒的假设原始数据在A列,第一个数据在A2单元格。
在你需要放入转换结果的一个单元格内(最好是与A2同一行,这样有大量原始数据要转换时,直接下拉就可以转换入:
=value(MID(IF(LEN(A2)=6,CONCATENATE("0",A2),A2),1,3))+value(MID(IF(LEN(A2)=6,CONCATENATE("0",A2),A2 (MID(IF(LEN(A2)=6,CONCATENATE("0",A2),A2),6,2))/3600
回车即可。
下面解释转换方法和函数意义。
以 1112233 为例。
算法是111+(22/60)+(33/3600),即把分、秒都算成度后相加。
MID:意为选择指定的字符,具体写法为MID(数据,顺位,字符数),先指定1-3位(度位),再指定4-5位(分位)/(秒位)/3600。
value:意为转换成为数值,这样才能进行运算。
关键问题在于,度有可能是2位数,如果这样整个数就是6位,上例算式中的
IF(LEN(A2)=6,CONCATENATE("0",A2),A2)
就是处理这样的问题的。
意思为如果整个是6位数,就在其前补个0,若不是6位,就直接用原来的数值(呵呵,在位和7位以外的经纬度,现在这个算法适用于6位和7位的经纬度)。
IF:条件函数,用法:IF(logical_test,value_if_true,value_if_false),其中logical_test为判断条件,在LEN(A2)=6,满足条件执行value_if_true,不满足则执行value_if_false。
LEN:为返回字符数的函数。
CONCATENATE:为合并字符函数,写法为:CONCATENATE(text1,text2,...),如要直接使用文本字符,就在其上
补0,必须如此,不然无法判断分与秒的位置。
始数据要转换时,直接下拉就可以转换所有数据),输(LEN(A2)=6,CONCATENATE("0",A2),A2),4,2))/60+value
3位(度位),再指定4-5位(分位)/60,再指定6-7位
6位,就直接用原来的数值(呵呵,在中国及周边没有6 ),其中logical_test为判断条件,在本例中为
),如要直接使用文本字符,就在其上加英文引号。