Skip to main content

Excel에서 10진수 각도를 도, 분, 초로 변환하는 방법은 무엇입니까?

Author: Sun Last Modified: 2025-05-20

가끔씩 워크시트에 10진수 각도로 표시된 데이터 목록이 있을 수 있으며, 이제 다음과 같은 스크린샷에 표시된 대로 10진수 각도를 도, 분, 초 형식으로 변환해야 합니다. Excel에서 이를 빠르게 변환하려면 어떻게 해야 할까요?

decimal degrees data arrow degrees minutes seconds data

VBA를 사용하여 10진수 각도를 도, 분, 초로 변환하기

VBA를 사용하여 도, 분, 초를 10진수 각도로 변환하기


arrow blue right bubble VBA를 사용하여 10진수 각도를 도, 분, 초로 변환하기

아래 단계를 따라 VBA 코드를 사용하여 10진수 각도를 도, 분, 초로 변환하세요.

1. ALT 키를 누른 상태에서 키보드의 F11을 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. 삽입 > 모듈을 클릭하고 VBA 코드를 모듈에 복사합니다.

VBA: 10진수 각도를 도, 분, 초로 변환하기

Sub ConvertDegree()
'Update 20130815
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
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를 실행합니다.

4. 화면에 대화상자가 표시되고 변환하려는 셀을 선택할 수 있습니다. 스크린샷 보기:

vba code to select the data to convert

5. 확인을 클릭하면 선택한 데이터가 도, 분, 초로 변환됩니다. 스크린샷 보기:

original data arrow converting result

: 위의 VBA 코드를 사용하면 원본 데이터가 손실될 수 있으므로 코드를 실행하기 전에 데이터를 복사하는 것이 좋습니다.



arrow blue right bubble VBA를 사용하여 도, 분, 초를 10진수 각도로 변환하기

가끔씩 도/분/초 형식의 데이터를 10진수 각도로 변환해야 할 수 있습니다. 다음 VBA 코드는 이를 신속하게 처리하는 데 도움이 될 수 있습니다.

1. ALT 키를 누른 상태에서 키보드의 F11을 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. 삽입 > 모듈을 클릭하고 VBA 코드를 모듈에 복사합니다.

VBA: 도, 분, 초를 10진수 각도로 변환하기

Function ConvertDecimal(pInput As String) As Double
'Updateby20140227
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

3. 코드를 저장하고 창을 닫습니다. 그런 다음 빈 셀을 선택하고, 예를 들어 A1 셀에 =ConvertDecimal("10° 27' 36""") 공식을 입력합니다 ("10° 27' 36"""는 변환하려는 각도를 나타내며 필요에 따라 변경할 수 있습니다). 그런 다음 Enter 버튼을 클릭합니다. 스크린샷 보기:

enter the formula arrow result of converting degrees, minutes, seconds to decimal degrees

관련 기사