KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で10 進度を度分秒に変換するには、どうすればよいですか?

著者Sun変更日

ワークシート上に10 進度で表示されたデータ一覧がある場合、それを下記のスクリーンショットのように度・分・秒形式に変換する必要が生じることがあります。Excel でこの変換を素早く行うには、どうすればよいでしょうか?

十進度数データ矢印度分秒データ

VBA を使用して10 進度を度分秒に変換する

VBA を使用して度分秒を10 進度に変換する


青色右向き矢印の吹き出し 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コード

5.OKをクリックすると、選択したデータが度、分、秒に変換されます。スクリーンショットをご参照ください:

元のデータ矢印変換結果

ヒント:上記の VBA コードを実行すると元のデータが失われてしまうため、事前に必ずデータをバックアップすることをおすすめします。



青色右向き矢印の吹き出し 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キーを押してください。スクリーンショットをご参照ください:

数式を入力矢印度分秒を十進度数に変換した結果

関連記事