KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de ondalık dereceleri derece, dakika ve saniye biçimine nasıl dönüştürebilirim?

YazarSun Değiştirme Tarihi

Bazen bir çalışma sayfasında ondalık derece olarak verilmiş bir listeyle karşılaşabilirsiniz ve bu değerleri aşağıdaki ekran görüntülerinde gösterildiği gibi derece, dakika ve saniye biçimine dönüştürmeniz gerekebilir. Excel’de bu dönüştürmeyi hızlıca nasıl yaparsınız?

ondalık derece verisiokderece dakika saniye verisi

Ondalık dereceleri VBA ile derece, dakika, saniyeye dönüştürme

Derece, dakika, saniyeyi VBA ile ondalık dereceye dönüştürme


mavi sağ ok baloncuğu Ondalık dereceleri VBA ile derece, dakika, saniyeye dönüştürme

Ondalık dereceleri VBA koduyla derece, dakika ve saniyeye dönüştürmek için aşağıdaki adımları uygulayın.

1. ALT tuşuna basılı tutun ve klavyeden F11 tuşuna basın; böylece bir Microsoft Visual Basic for Applications penceresi açılır.

2. Ekle > Modül seçeneğine tıklayın ve VBA kodunu modüle kopyalayın.

VBA: Ondalık dereceyi derece, dakika ve saniyeye dönüştürme

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. Çalıştır düğmesine tıklayın veya VBA'yı çalıştırmak için F5 tuşuna basın.

4. Ekranda bir iletişim kutusu açılır; buradan dönüştürmek istediğiniz hücreleri seçebilirsiniz. Ekran görüntüsüne göz atın:

dönüştürülecek veriyi seçmek için vba kodu

5. Tamam düğmesine tıklayın; ardından Veri Seç, derece, dakika ve saniye biçimine dönüştürülür. Ekran görüntüsüne bakın:

orijinal veriokdönüştürme sonucu

İpucu: Yukarıdaki VBA kodunu kullanmak orijinal verilerinizi kaybetmenize neden olabilir; bu yüzden kodu çalıştırmadan önce verilerinizi yedeklemek en iyisidir.



mavi sağ ok baloncuğu Derece, dakika, saniyeyi VBA ile ondalık dereceye dönüştürme

Bazen derece/dakika/saniye biçimindeki verileri ondalık dereceye dönüştürmek isteyebilirsiniz; aşağıdaki VBA kodu bunu hızlı ve kolay bir şekilde yapmanıza yardımcı olur.

1. ALTtuşuna basılı tutun ve klavyeden F11tuşuna basın; böylece bir Microsoft Visual Basic for Applications penceresi açılır.

2. Ekle > Modül seçeneğine tıklayın ve VBA kodunu modüle kopyalayın.

VBA: Derece, dakika ve saniyeyi ondalık dereceye dönüştürme

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. Kodu kaydedin ve bu pencereyi kapatın. Örneğin A1 hücresi gibi boş bir hücre seçin, ardından şu formülü girin: =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" dönüştürmek istediğiniz dereceyi temsil eder; ihtiyacınıza göre değiştirebilirsiniz). Ardından Enter tuşuna basın. Ekran görüntülerine bakın:

formülü girinokderece, dakika, saniyenin ondalık dereceye dönüştürülmesinin sonucu

İlgili makaleler