Excel'de ondalık dereceleri derece, dakika ve saniye biçimine nasıl dönüştürebilirim?
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 dereceleri VBA ile derece, dakika, saniyeye dönüştürme
Derece, dakika, saniyeyi VBA ile ondalık dereceye dönüştürme
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:

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:
![]() | ![]() | ![]() |
İpucu: Yukarıdaki VBA kodunu kullanmak orijinal verilerinizi kaybetmenize neden olabilir; bu yüzden kodu çalıştırmadan önce verilerinizi yedeklemek en iyisidir.
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:
![]() | ![]() | ![]() |




