如何在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+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告