WEB开发网
开发学院软件教学办公软件Excel 使用Excel的MID函数实现度分秒到十进制度数的批量... 阅读

使用Excel的MID函数实现度分秒到十进制度数的批量转换

 2009-04-17 14:31:13 来源:WEB开发网   
核心提示:今天想往ArcMap 9.2中导入一系列的点坐标数据,原始数据是度分秒格式的,使用Excel的MID函数实现度分秒到十进制度数的批量转换,ArcMap不认,查找帮助文件得知ArcMap只能识别十进制的度格式的数据,这个时候就只会取25.23,这里不考虑四舍五入,第一想法就是去网上找类似的软件,但是下回来一看

今天想往ArcMap 9.2中导入一系列的点坐标数据,原始数据是度分秒格式的,ArcMap不认,查找帮助文件得知ArcMap只能识别十进制的度格式的数据。第一想法就是去网上找类似的软件,但是下回来一看,只能一次转换一个点,而且还要手动输入,但我有近100个点,因此只能找其它办法,后来看到有人提示说Excel的MID函数或许可以,于是就自己试了一下。

MID函数用法:=mid(A1,a,b)。这里A1代表数据所在单元格,a表示数据其实位置,b表示长度。如A2单元格中有一句话“度分秒与十进制转换”,我们在A3中输入“=mid(A2,2,3)”,那么得到的结果将是“分秒与”。

熟悉了语法后,我们就可以开始编辑了。假设A1栏是N29°14′45″,那么我们想输出十进制,结果自然是29+14/60+45/3600,这时候我们可以这样写语句“=mid(A1,2,2)+mid(A1,5,2)/60+mid(A1,8,2)/3600”。同样,如果是E102°45′25″,可以写成“=mid(A1,2,3)+mid(A1,6,2)/60+mid(A1,9,2)/3600”,之后按着鼠标往下一拖,剩下的就可以自动完成了。当然,如果字符的长度不同,例如可能有的是E99°,有的是E101°,这样你需要略作修改,或者最后″的地方如果不是整数,那也要统一小数位长度才可以。

附:

N29°14′45″      =mid(A1,2,2)+mid(A1,5,2)/60+mid(A1,8,2)/3600

E102°45′25″     =mid(A1,2,3)+mid(A1,6,2)/60+mid(A1,9,2)/3600

E99°45′25″      =mid(A1,2,2)+mid(A1,5,2)/60+mid(A1,8,2)/3600

E99°45′25.2394″ =mid(A1,2,2)+mid(A1,5,2)/60+mid(A1,8,7)/3600  

注意,最后的7和″的位数有关,含小数点,如25.2394含小数点正好7位,当然如果精度要求不这么高,或是为了统一格式,那么可以用(A1,8,5),这个时候就只会取25.23,这里不考虑四舍五入,只取前面的。

Tags:使用 Excel MID

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接