【转】网上抄一段excel中经纬度转小数代码,好用

本文提供了在Excel中将经纬度从度分秒格式转换为十进制度格式,以及反向转换的方法。通过简单公式实现批量转换,适用于地理信息系统相关工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

如果要把经纬度的度分秒转换成十进制度的形式的话,那么就在excel的表格中输入如下简单的公式即可,想要批量转换的话就在一个单元格中输入该公式然后拖拽填充柄即可。

其中D1是想要转换格式的度分秒形式的数据所在的单元格坐标

=LEFT(D1,FIND("°",D1)-1)+MID(D1,FIND("°",D1)+1,FIND("′",D1)-FIND("°",D1)-1)/60+MID(D1,FIND("′",D1)+1,2)/3600


反过来,如果要把十进制度形式的经纬度转换成度分秒形式的经纬度该怎么样呢?那么下面的公式就能帮您解决,该公式的使用方法和上面的一样,是不是感觉很简单呀?

=CONCATENATE(INT(D1),"°",IF(INT((D1-INT(D1))*60)<10,CONCATENATE("0",INT((D1-INT(D1))*60)),INT((D1-INT(D1))*60)),"′",IF(ROUND(((D1-INT(D1))*60-INT((D1-INT(D1))*60))*60,0)<10,CONCATENATE("0",ROUND(((D1-INT(D1))*60-INT((D1-INT(D1))*60))*60,0)),ROUND(((D1-INT(D1))*60-INT((D1-INT(D1))*60))*60,0)),"″")
=CONCATENATE(INT(E1),"°",IF(INT((E1-INT(E1))*60)<10,CONCATENATE("0",INT((E1-INT(E1))*60)),INT((E1-INT(E1))*60)),"′",IF(ROUND(((E1-INT(E1))*60-INT((E1-INT(E1))*60))*60,0)<10,CONCATENATE("0",ROUND(((E1-INT(E1))*60-INT((E1-INT(E1))*60))*60,0)),ROUND(((E1-INT(E1))*60-INT((E1-INT(E1))*60))*60,0)),"″")
还有把十进制度形式的经纬度转换成度分的形式,可用这个公式:

=CONCATENATE(INT(C1),"°",IF(INT((C1-INT(C1))*60)<10,CONCATENATE("0",INT((C1-INT(C1))*60)),ROUND((C1-INT(C1))*60,3)),"′")
 


=CONCATENATE(INT(D2),"°",IF(INT((D2-INT(D2))*60)<10,CONCATENATE("0",INT((D2-INT(D2))*60)),INT((D2-INT(D2))*60)),"′",IF(ROUND(((D2-INT(D2))*60-INT((D2-INT(D2))*60))*60,0)<10,CONCATENATE("0",ROUND(((D2-INT(D2))*60-INT((D2-INT(D2))*60))*60,0)),ROUND(((D2-INT(D2))*60-INT((D2-INT(D2))*60))*60,0)),"″")


=CONCATENATE(INT(E2),"°",IF(INT((E2-INT(E2))*60)<10,CONCATENATE("0",INT((E2-INT(E2))*60)),INT((E2-INT(E2))*60)),"′",IF(ROUND(((E2-INT(E2))*60-INT((E2-INT(E2))*60))*60,0)<10,CONCATENATE("0",ROUND(((E2-INT(E2))*60-INT((E2-INT(E2))*60))*60,0)),ROUND(((E2-INT(E2))*60-INT((E2-INT(E2))*60))*60,0)),"″")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值