0

我在 DMS 中列出了 excel 中的大量坐标数据,格式如下:

893952N1001233.1
882222N0991244.4
... 
...

等等等等。

该数据在我的 A 列中。

我将该列视为文本,并且两个坐标都由“N”分隔,这样我就可以在 B 列和 C 列的单独列中获得两个坐标部分。(例如:B1:893952,C1:1001233.1;B2:882222 C2 : 991244.4)

由于这些数字在 DMS 中,它们是 DDMMSS.S,当然取决于它们是否有小数,有些有,有些没有。我可以使用什么代码来读取 B 和 C 列中的 DMS 坐标,然后通过取值的“SS.S”部分并将其除以 3600 将它们转换为十进制度数,取值的 MM 部分并除以到 60,然后将其添加到 DD(当然有时是 DDD)?

我希望将结果坐标发布在 D 和 E 列中。

所以基本上,我希望它读取坐标,使用 DD+(MM/60)+(SS.S/3600) 的方法从 DMS 转换为十进制度,然后循环遍历剩余的大量坐标。

我希望我说得足够清楚,如果不够清楚,请告诉我我解释得不好的地方,我会尽力解释!非常感谢本网站上好人的智慧!

(如果 Excel 上有一个简单的函数可以为我转换我丢失的这个函数,我会提前为丢失道歉,但我检查过但找不到)

4

1 回答 1

1

在第 1 列中输入以下内容(每个新行都是一个新行):

893952N1001233.1
=LEFT(A1,FIND("N",A1)-1)
=RIGHT(A1,LEN(A1)-FIND("N",A1))
=IF(OR(LEN(A2)=7,LEN(A2)=9),LEFT(A2,3)+MID(A2,4,2)/60+RIGHT(A2,LEN(A2)-5)/3600,LEFT(A2,2)+MID(A2,3,2)/60+RIGHT(A2,LEN(A2)-4)/3600)
=IF(OR(LEN(A3)=7,LEN(A3)=9),LEFT(A3,3)+MID(A3,4,2)/60+RIGHT(A3,LEN(A3)-5)/3600,LEFT(A3,2)+MID(A3,3,2)/60+RIGHT(A3,LEN(A3)-4)/3600)

那是你要找的吗?如果没有,请评论。

当然,您必须为数据布局适当地设置公式,这只是一个示例。

于 2013-01-09T04:57:53.720 回答