2016年5月7日 星期六

Excel-經度和緯度的數值轉換(INT,MOD,TEXT)

在 Google 地圖上要表示一個地點,除了地名以外,經度和緯度是一個地點的基本的資料。當你使用導航系統或是表達一個地點時,就會用到經度和緯度。
關於經緯度的概念,可參考維基百科上的說明:https://zh.wikipedia.org/wiki/經緯度
Excel-經度和緯度的數值轉換(INT,MOD,TEXT)
以 Google 地圖為例,在任一地點上按右鍵,選取「這是哪裡?」,即可以資訊卡上顯示地址、地點名稱和經緯度。
Excel-經度和緯度的數值轉換(INT,MOD,TEXT)
如果你點選這個地點,則還會看到如下圖的資訊:
Excel-經度和緯度的數值轉換(INT,MOD,TEXT)
其中,經緯度有兩種表示方法『25.167159, 121.574075』和『25°10'01.8"N 121°34'26.7"E』。一種是十進制數,另一種是以『度°分'秒"』來表示。有時你取得經緯度的十進制數,但是某些系統需要的是度分秒的表示法,如何做轉換呢?
其中,『1分=1/60度』、『1秒=1/60分=1/3600度』。參考下圖,藉助 Excel 可以很方便的轉換出來。
Excel-經度和緯度的數值轉換(INT,MOD,TEXT)

【公式設計與解析】
儲存格C2:=INT(A2)&"度"&INT(MOD(A2,1)/(1/60))&"分"&TEXT(MOD(
MOD(A2,1),1/60)/(1/3600),"00.0")&"秒"
複製儲存格C2,貼至儲存格C2:C15。

(1) 換算『度』:=INT(A2):
利用 INT 函數取出儲存格A2的整數部分,即為度數。
(2) 換算『分』:=INT(MOD(A2,1)/(1/60))
因為『1分=1/60度』,所以 MOD(A2,1)/(1/60) 可以換算為分數,但是因為只取整數部分,所以透過 INT 來去除小數部分。如果要顯示二位數,則可以改成 TEXT(INT(MOD(A2,1)/(1/60)),"00")。
(3) 換算『秒』:=TEXT(MOD(MOD(A2,1),1/60)/(1/3600),"00.0")
因為『1秒=1/60分=1/3600度』,所以 MOD(MOD(A2,1),1/60)/(1/3600) 可以換算為秒數,但是因為要取整數 2 位、小數 1 位,所以使用 TEXT 函數來設定顯示的結果。

沒有留言:

張貼留言

檢視其他文章

好康東東