您的位置首页百科问答

利用excel将经纬度度分秒转换成小数点

利用excel将经纬度度分秒转换成小数点

的有关信息介绍如下:

利用excel将经纬度度分秒转换成小数点

经纬度可以有多种格式,常见就是度分秒和小数两种,度分秒看起来比较方便,但是如果想简单的根据两个点的坐标计算距离,或是存到一个double类型中的字段中就不那么方便了。这里来一步步讲一下如何将度分秒格式的经纬度用Excel转换成小数。

首先来讲一下换算的原理。度分秒格式中的分和秒和时钟的分秒是类似的,都是60进制,先把秒换算成分,加到分中。再换算成度加到度中即可。比如我们这里随便选的一组坐标,北纬23°01′13.93″。先把13.93秒换算成分就是13.93/60=0.232166666666667分,加上前面的1分就是1.232166666666667分,换算成度就是1.232166666666667/60=0.0205361111111111度,加到度中就得到了结果23.0205361111111111。总结一下,就是秒/3600+分/60+度。接下来讲在Excel中如何快速得到结果。

要把度分秒自动换算成小数,就要先把度分秒单独取出来,思路如下:1. 从分的符号'的下一个字符开始取,取5个字符以上(两位加小数点和小数是5个字符,我们干脆取10个),得到13.93",然后把后一个字符"去掉(len函数取得13.93"的长度减1)。(取字符串处理具体参见Excel字符串提取和处理 Left Mid Right Find)

13Excel字符串提取和处理 Left Mid Right Find

知道了原理,也提取出了度、分、秒的值,只需要像这样的简单的加一下就完成了

当然正常我们是不需要中间提取字符串的结果的,可以在最后做一下全并,只需要把相应的B2替换成B2单元格中的公式“(LEFT(MID(A2,FIND("′",A2)+1,10),LEN(MID(A2,FIND("′",A2)+1,10))-1))”,C2替换成C2单元格中的公式“(LEFT(MID(A2,FIND("°",A2)+1,10),FIND("′",MID(A2,FIND("°",A2)+1,10))-1))”,D2替换成D2单元格中的公式“”如图,注意加上括号。

=(LEFT(MID(A2,FIND("′",A2)+1,10),LEN(MID(A2,FIND("′",A2)+1,10))-1))/3600+(LEFT(MID(A2,FIND("°",A2)+1,10),FIND("′",MID(A2,FIND("°",A2)+1,10))-1))/60+(LEFT(A2,FIND("°",A2)-1))

然后就可以把不需要的中间列去掉了,其它单元格只需要下拉即可得到小数的经纬度了