如何在Excel中將十進位制度數轉換為度分秒


分和秒是比度更基本的旋轉測量單位。在旋轉測量中使用分有助於我們更準確、更有效地分析值。我們可以使用VBA應用程式將十進位制度數轉換為度、分、秒,因為它無法直接在Excel中完成。本教程將幫助您瞭解如何在Excel中將十進位制度數轉換為度、分、秒。這裡我們將演示兩種將十進位制度數轉換為度、分、秒以及將度、分、秒轉換為十進位制度數的方法。

將十進位制度數轉換為度分秒

在這裡,我們將首先建立一個VBA模組,然後執行它來完成我們的任務。讓我們來看一個簡單的過程,瞭解如何使用Excel中的VBA應用程式將十進位制度數轉換為度、分、秒。

步驟1

考慮一個Excel表格,其中包含類似於下圖所示的資料。

現在右鍵單擊工作表名稱並選擇“檢視程式碼”以開啟VBA應用程式,然後單擊“插入”並選擇“模組”。

右鍵單擊 > 檢視程式碼 > 插入 > 模組

步驟2

然後,如下圖所示,在文字框中輸入程式1。

示例

Sub ConvertDegree()
'Updated By Nirmal
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Select the range"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
   num1 = Rng.Value
   num2 = (num1 - Int(num1)) * 60
   num3 = Format((num2 - Int(num2)) * 60, "00")
   Rng.Value = Int(num1) & "°" & Int(num2) & "'" & Int(num3) & "''"
Next
End Sub

步驟3

然後將工作表另存為宏啟用模板,然後單擊F5執行宏,選擇要轉換的範圍,然後單擊“確定”以完成該過程。

將十進位制度分秒轉換為度

在這裡,我們將首先使用VBA建立一個模組,然後執行它來完成我們的任務。讓我們來看一個將十進位制度分秒轉換為度的簡單過程。

步驟1

讓我們考慮一個新的Excel工作表,右鍵單擊工作表名稱並選擇“檢視程式碼”以開啟VBA應用程式。

然後單擊“插入”,選擇“模組”,並在文字框中輸入程式2,如下圖所示。

示例

Function ConvertDecimal(pInput As String) As Double
'Update by nirmal
Dim xDeg As Double
Dim xMin As Double
Dim xSec As Double
xDeg = Val(Left(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Mid(pInput, InStr(1, pInput, "°") + 2, _InStr(1, pInput, "'") - InStr(1, pInput, _
   "°") - 2)) / 60
xSec = Val(Mid(pInput, InStr(1, pInput, "'") + _
   2, Len(pInput) - InStr(1, pInput, "'") - 2)) _
   / 3600
ConvertDecimal = xDeg + xMin + xSec
End Function

步驟2

現在儲存工作表,在單元格中輸入公式 =ConvertDecimal("10° 27' 36""") 並單擊“確定”以獲取下圖所示的結果。

結論

在本教程中,我們使用了一個簡單的示例來演示如何在Excel中將十進位制度數轉換為度分。

更新於:2023年2月6日

6000+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告