十进制度分秒lisp函数_度分秒转换十进制度之Excel实现

本文介绍了如何使用Excel的FIND、LEFT和MID函数将度分秒形式的经纬度转换为十进制度。通过提取度、分、秒的数值并进行数学运算,实现了从[112°18′37.6″]到112.3104444°的转换过程。
摘要由CSDN通过智能技术生成

我们都知道,1°=60′,1′=60″,1°=3600″。

那么,轻而易举容易计算:112°18′37.6″=112+18/60+37.6/3600≈112.3104444°

这当然是有参考价值的,比如爬下一张只有度分秒形式的经纬度表格,但是,我们的GIS软件只认十进制度(原因无非就是十进制好算),那么通过Excel的字符串操作函数,就可以轻松转换为十进制度。

一、预备知识(三个函数)

1 FIND()函数

FIND函数可以找到某个字符(串)在指定字符串的哪里。

我们说,CHINA中字母N在第4个,那么

4=FIND("N","CHINA")

如果CHINA在单元格A1,那么

4=FIND("N",A1)

// FIND函数还有第三个参数,此处不讨论

即得出结论:

I = FIND(S,D)

I——S在D的位置

S——查找的字符()串

D——被查找的字符串

2 LEFT()函数

LEFT()函数可以获取从左边开始数的第n个字符,通俗点讲就是在第n个处切开,前n个留下形成结果字符串,其他的扔了。即:

LEFT("CHINA", 3)="CHI"

LEFT("CHINA", 1)="C"

3 MID()函数

与LEFT类似,从左往右第i个起算,取j个,头和尾不要了。

MID("CHINA",3,2)="IN"

MID("CHINA",1,4)="CHIN"

二、提取度&分&秒的数值

OK,有了上部分的预备,那么我们就要对[112°18′37.6″]中括号内的字符串进行切割,把度分秒分别切出来。

首先,我们要获取°号、′号、″号的位置:

A1=112°18′37.6″

A2=FIND("°", A1) //结果是4

A3=FIND("′", A1) //结果是7

A4=FIND("″", A1) //结果是12,小数点也占一位字符

然后,使用LEFT取到度(注意是到°号之前的2,不是到度号):

B1=LEFT(A1,A2) //结果错误,是112°,并不是我们想要的112

B1=LEFT(A1,A2-1) //结果是112

用MID取到分的数值。

注意,起点不是°号了,是度号往右一个,即A2+1。

要取多少个数字呢?这里分的数值是两位,则A3-A2-1刚好是2:

B2=MID(A1,A2+1,A3-A2-1) //结果是18

用MID取到秒的数值(起点数字,和取长,与分的数值同理):

B3=MID(A1,A3+1,A4-A3-1) //结果是37.6

如果不太能理解A3-A2-1为啥刚好是分的数值的位数,自己稍微动一下脑筋就想出来了,用位数的顺序相减呗。

三、拼接

这一步就简单了,使用简单的数学四则运算:

C1=B1+B2/60+B3/3600 //结果是112.3104444

四、整合所有公式到一个单元格

分步列公式是为了清晰过程,实际只需要一个单元格就可以计算,总结一下:

十进制度

=取度+取分/60+取秒/3600

=B1 + B2/60 + B3/3600

=LEFT(A1,A2-1) + MID(A1,A2+1,A3-A2-1) + MID(A1,A3+1,A4-A3-1)

=LEFT(A1, FIND("°", A1)-1)

+

MID(A1, FIND("°", A1)+1, FIND("′", A1)-FIND("°", A1)-1)/60

+

MID(A1, FIND("′", A1)+1, FIND("″", A1)-FIND("′", A1)-1)/3600

如果不写成换行,那么结果就会是:

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

如下图所示:

喜欢点个赞哦

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值