如何在 Excel 中将十进制度转换为度分秒

ms excelmicrosoft technologiescomputers更新于 2024/12/15 1:48:17

分和秒是比度更基本的旋转测量单位。使用分钟来测量旋转有助于我们更准确、更高效地分析数值。由于 Excel 无法直接完成转换,我们可以使用 VBA 应用程序将十进制度转换为度、分和秒。本教程将帮助您了解如何在 Excel 中将十进制度转换为度、分和秒。我们将演示两种方法,分别将十进制度转换为度、分和秒,以及将度、分和秒转换为十进制度。

将十进制度转换为度分秒

在这里,我们将首先创建一个 VBA 模块,然后运行它来完成我们的任务。让我们看一个简单的过程,了解如何使用 Excel 中的 VBA 应用程序将十进制度转换为度、分和秒。

步骤 1

假设有一个 Excel 工作表,其数据与下图所示类似。

现在右键单击工作表名称,选择"查看代码"以打开 VBA 应用程序,然后单击"插入"并选择"模块"。

右键单击 >"查看代码">"插入">模块

Right click > view code > insert > module

步骤 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 中将十进制度转换为度分。


相关文章


有用资源