Anda Mungkin Suka
Ringkasan
Pengukuran sudut biasanya dinyatakan dalam satuan derajat, menit, dan detik (DMS). 1 derajat sama dengan 60 menit, dan satu menit sama dengan 60 detik. Untuk menyederhanakan beberapa kalkulasi matematika, Anda mungkin ingin menyatakan pengukuran sudut dalam derajat dan pecahan desimal derajat.
Artikel ini berisi contoh fungsi kustom yang dapat Anda gunakan untuk mengonversi nilai derajat yang disimpan dalam format desimal, ke DMS yang disimpan dalam format teks, dan contoh fungsi yang mengubah DMS ke nilai derajat yang disimpan dalam format desimal.
Informasi Lebih Lanjut
Mengonversi Derajat Desimal ke Derajat / Menit / Detik
Fungsi kustom Microsoft Visual Basic for Applications berikut menerima sudut yang diformat sebagai nilai desimal dan mengubahnya menjadi nilai teks yang ditampilkan dalam derajat, menit, dan detik.
Rumus sebagai berikut:
Function Convert_Degree(Decimal_Deg) As Variant
With Application
'Set degree to Integer of Argument Passed
Degrees = Int(Decimal_Deg)
'Set minutes to 60 times the number to the right
'of the decimal for the variable Decimal_Deg
Minutes = (Decimal_Deg - Degrees) * 60
'Set seconds to 60 times the number to the right of the
'decimal for the variable Minute
Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
'Returns the Result of degree conversion
'(for example, 10.46 = 10~ 27 ' 36")
Convert_Degree = " " & Degrees & "° " & Int(Minutes) & " ' " & Seconds + Chr(34)
End With
End Function
Untuk menggunakan fungsi ini, buat rumus konversi, seperti pada contoh berikut:
1.Mulai Excel dan tekan ALT + F11 untuk memulai editor Visual Basic.
2.Pada menu Sisipkan, klik Modul.
3.Masukkan kode contoh untuk fungsi kustom Convert_Degree yang dijelaskan di atas ke dalam lembar modul.
4.Tekan ALT + F11 untuk kembali ke excel.
5.Di sel A1 ketik 10.46.
6.Di sel A2 ketikkan rumus: = Convert_Degree (A1)
7.Rumusnya mengembalikan 10 ° 27'36 "
Fungsi kustom Microsoft Visual Basic for Applications berikut menerima string teks derajat, menit, dan detik yang diformat dalam format yang sama persis dengan yang dikembalikan fungsi Convert_Degree (misalnya, 10 ° 27 '36 ") dan mengubahnya menjadi sudut yang diformat sebagai nilai desimal. Ini persis kebalikan dari fungsi kustom Convert_Degree.
Rumusnya sebagai berikut :
Function Convert_Decimal(Degree_Deg As String) As Double
' Declare the variables to be double precision floating-point.
Dim degrees As Double
Dim minutes As Double
Dim seconds As Double
' Set degree to value before "°" of Argument Passed.
degrees = Val(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
' Set minutes to the value between the "°" and the "'"
' of the text string for the variable Degree_Deg divided by
' 60. The Val function converts the text string to a number.
minutes = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 2, _
InStr(1, Degree_Deg, " '") - InStr(1, Degree_Deg, _
"°") - 2)) / 60
' Set seconds to the number to the right of "'" that is
' converted to a value and then divided by 3600.
seconds = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, '") + _
2, Len(Degree_Deg) - InStr(1, Degree_Deg, '") - 2)) _
/ 3600
Convert_Decimal = degrees + minutes + seconds
End Function
Untuk menggunakan fungsi ini, buat rumus konversi, seperti pada contoh berikut: 1.Mulai Excel dan tekan ALT + F11 untuk memulai Editor Visual Basic. 2.Pada menu Sisipkan, klik Modul. 3.Masukkan kode contoh untuk fungsi kustom Convert_Decimal yang dijelaskan di atas ke dalam lembar modul. 4.Tekan ALT + F11 untuk kembali ke excel. 5.Di sel A1 ketikkan rumus berikut: = Convert_Decimal ("10 ° 27 '36" "") 6.Rumusnya mengembalikan 10.46
Selamat datang kembali, silahkan login ke akun Anda.
Belum menjadi member? Daftar