Note: The other languages of the website are Google-translated. Back to English
English English

Bagaimana cara mengubah derajat desimal menjadi derajat menit detik di Excel?

Terkadang, Anda mungkin memiliki daftar data yang ditampilkan sebagai derajat desimal di lembar kerja, dan sekarang Anda perlu mengonversi derajat desimal ke format derajat, menit dan detik seperti yang diperlihatkan sebagai tangkapan layar berikut, bagaimana Anda bisa mendapatkan percakapan dengan cepat di Excel?

Ubah derajat desimal menjadi derajat, menit, detik dengan VBA

Ubah derajat, menit, detik ke derajat desimal dengan VBA

Tab Office Mengaktifkan Pengeditan dan Penjelajahan Tab di Office, dan Jadikan Pekerjaan Anda Lebih Mudah ...
Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%
  • Gunakan Kembali Apa Pun: Tambahkan rumus, bagan, dan hal lain yang paling sering digunakan atau rumit ke favorit Anda, dan gunakan kembali dengan cepat di masa mendatang.
  • Lebih dari 20 fitur teks: Ekstrak Nomor dari String Teks; Ekstrak atau Hapus Bagian dari Teks; Ubah Angka dan Mata Uang ke Kata Bahasa Inggris.
  • Gabungkan Alat: Beberapa Buku Kerja dan Lembar menjadi Satu; Gabungkan Beberapa Sel / Baris / Kolom Tanpa Kehilangan Data; Gabungkan Baris dan Jumlah Duplikat.
  • Alat Pisah: Membagi Data Menjadi Beberapa Lembar Berdasarkan Nilai; Satu Buku Kerja ke Beberapa File Excel, PDF atau CSV; Satu Kolom ke Beberapa Kolom.
  • Tempel Melewati Baris Tersembunyi / Difilter; Hitung Dan Jumlah dengan Warna Latar Belakang; Kirim Email Hasil Personalisasi ke Beberapa Penerima secara Massal.
  • Filter Super: Buat skema filter tingkat lanjut dan terapkan ke setiap lembar; Jenis menurut minggu, hari, frekuensi, dan lainnya; SARING dengan tebal, rumus, komentar ...
  • Lebih dari 300 fitur canggih; Bekerja dengan Office 2007-2019 dan 365; Mendukung semua bahasa; Penerapan yang mudah di perusahaan atau organisasi Anda.

panah gelembung kanan biru Ubah derajat desimal menjadi derajat, menit, detik dengan VBA


Ikuti langkah-langkah di bawah ini untuk mengubah derajat desimal menjadi derajat, menit, dan detik dengan kode VBA.

1. Memegang ALT tombol dan tekan F11 pada keyboard untuk membuka a Microsoft Visual Basic untuk Aplikasi jendela.

2. klik Menyisipkan > Modul, dan salin VBA ke dalam modul.

VBA: Ubah derajat desimal menjadi derajat, menit dan detik

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. klik Run tombol atau tekan F5 untuk menjalankan VBA.

4. Sebuah dialog ditampilkan di layar, dan Anda dapat memilih sel yang ingin Anda ubah. Lihat tangkapan layar:

5. klik OK, kemudian data yang dipilih diubah menjadi derajat, menit dan detik. Lihat tangkapan layar:

jenis: Menggunakan kode VBA di atas akan kehilangan data asli Anda, jadi sebaiknya Anda menyalin data sebelum menjalankan kode.


panah gelembung kanan biru Ubah derajat, menit, detik ke derajat desimal dengan VBA

Terkadang, Anda mungkin ingin mengonversi data dalam format derajat / menit / detik ke derajat desimal, kode VBA berikut dapat membantu Anda menyelesaikannya dengan cepat.

1. Memegang ALTombol T dan tekan F11 pada keyboard untuk membuka jendela Microsoft Visual Basic for Application.

2. klik Menyisipkan > Modul, dan salin VBA ke dalam modul.

VBA: Ubah derajat, menit dan detik menjadi derajat desimal

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. Simpan kode dan tutup jendela, pilih sel kosong, misalnya, Sel A1, masukkan rumus ini = ConvertDecimal ("10 ° 27 '36" "") ("10 ° 27 '36" "" adalah derajat yang ingin Anda ubah menjadi derajat desimal, Anda dapat mengubahnya sesuai kebutuhan), lalu klik Enter tombol. Lihat tangkapan layar:


Artikel relatif

Urutkan komentar berdasarkan
komentar (16)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
ada beberapa kesalahan dalam kode saya mencoba mengonversi 26°10'55.416" menggunakan kode ini yang menghasilkan 26.00139 yang seharusnya menjadi 26.18206 (Dihitung & Diverifikasi.. tolong beri tahu saya jika ada yang tahu alasannya.
Komentar ini diminimalkan oleh moderator di situs
[quote]ada beberapa kesalahan dalam kode saya mencoba mengonversi 26°10'55.416" menggunakan kode ini yang menghasilkan 26.00139 yang seharusnya menjadi 26.18206 (Dihitung & Diverifikasi.. tolong beri tahu saya jika ada yang tahu alasannya.Oleh Rajansinh Zala[/quote] Tampaknya kode mengharapkan spasi setelah simbol ° dan '. 26° 10' 55.416" memberikan jawaban yang benar. Anda dapat memasukkan input Anda ke dalam sel (misalnya A1) dan mendapatkan hasilnya di sel lain dengan menggunakan rumus =ConvertDecimal(A1). Ini mudah jika Anda memiliki banyak angka untuk dikonversi.
Komentar ini diminimalkan oleh moderator di situs
Sangat membantu. Terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Hal terpenting yang harus disadari adalah bahwa Anda tidak bisa begitu saja menggunakan superskrip dan huruf kecil o untuk simbol derajat - ini mungkin jelas bagi sebagian orang, tetapi tidak bagi saya. Saya mencoba huruf superskrip o dan tidak berhasil, saya menghapus huruf superskrip o, dan menggunakan Alt 0176 untuk simbol derajat yang sebenarnya dan berhasil!! Saya bingung mengapa setelah detik ada set tanda kutip ganda tambahan? 36""") sedangkan di komentar berikutnya jika seseorang hanya menggunakan =ConvertDecimal(A1) hanya satu set tanda kutip yang digunakan untuk detik. Anehnya kita dapat menggunakan tanda kutip tunggal dan ganda dan hal itu berfungsi untuk menit dan detik tetapi huruf superskrip o tidak? Untuk memeriksa 27/60 = .45 smf 36/3600 = .01 tambahkan dua = .46 dan tambahkan itu ke derajat = 10.46 derajat. Semoga ini membantu orang lain? Mort
Komentar ini diminimalkan oleh moderator di situs
Menemukan kode ini sangat membantu. Barang bagus!
Komentar ini diminimalkan oleh moderator di situs
Saya ingin memplot posisi pada peta dan kami tidak khawatir tentang N, S, E atau W. Saya yakin ini dapat ditambahkan dengan pernyataan "jika". Saya baru saja menggunakan baris fungsi yang sangat sederhana dalam spreadsheet Excel. Saya ingin beralih dari Derajat (Desimal) ke Derajat, Detik (Desimal) Mengubah nilai negatif menjadi positif karena saya tahu belahan mana saya berada. Bagi saya, sel E4 berisi target Lat atau Long (Desimal). Ini sedikit lebih mudah daripada memasukkan beberapa kode VBA dan dapat diperbesar untuk melakukan DD,MM,SS =CONCATENATE(TRUNC(ABS(E4)),"°",FIXED((ABS(E4)-TRUNC(ABS(E4 )))*60,2),"'")
Komentar ini diminimalkan oleh moderator di situs
berfungsi dengan baik tetapi bagaimana saya mengadaptasi kode untuk mendapatkan lebih banyak angka dalam hitungan detik?
Komentar ini diminimalkan oleh moderator di situs
Halo, saya menggunakan skrip untuk mengonversi desimal ke DMS namun kodenya salah di suatu tempat karena ternyata 37.856908,-120.912469 menjadi 37D 51M 25S, -121D 5M 15S Ini jauh.... Ada yang punya perbaikan untuk ini?
Komentar ini diminimalkan oleh moderator di situs
Tidak yakin apa yang salah dengan kode di posting dari Ernie, tetapi ini yang saya gunakan untuk mengubah derajat desimal ke derajat DMS di spreadsheet tanpa menggunakan VB. Referensi ke sel E33 adalah sel yang berisi nilai derajat desimal. =CONCAT(DIPERBAIKI(INT(B32), 0) , "°", TETAP(((B32 - INT(B32)) * 60), 0), "'", TETAP(((B32 - INT(B32) - INT(B32 - INT(B32))) * 3600, 0 ,TRUE), """) Semoga berhasil.
Komentar ini diminimalkan oleh moderator di situs
HI CORNY, TIDAK BEKERJA UNTUK SAYA, EXCEL TIDAK MENERIMA FUNGSI..... APA YANG SALAH? BISAKAH KAMU MEMBANTUKU?
Komentar ini diminimalkan oleh moderator di situs
tolong saya ingin Anda membantu dan menulis program komputer di atas kertas untuk mengubah desimal derajat ke derajat menit dan detik. 317.5986740026 dari ahans.
Komentar ini diminimalkan oleh moderator di situs
langkah 1, Kalikan angka setelah desimal dengan 60 (0.5986740026*60)menit=35.92044015 berarti 35 menit
spet 2, kalikan desimal setelah menit yaitu 0.9204401*60=55.2264
jadi 317 derajat 35 menit 55 detik
Komentar ini diminimalkan oleh moderator di situs
Bekerja seperti seorang juara! Terima kasih telah berbagi!!!
Komentar ini diminimalkan oleh moderator di situs
Periksa hasil Anda. kode ini salah.
Komentar ini diminimalkan oleh moderator di situs
Kode memiliki asumsi ada spasi setelah ° dan '. Ubah 2 menjadi 1 dalam kode untuk menyelesaikannya.
Fungsi ConvertDecimal(pInput As String) Sebagai Ganda
'Perbarui oleh20140227
Redupkan xDeg Sebagai Ganda
Redupkan xMin Sebagai Ganda
Redupkan xSec Sebagai Ganda
xDeg = Val(Kiri(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Pertengahan(pInput, InStr(1, pInput, "°") + 1, _
InStr(1, pInput, "'") - InStr(1, pInput, _
"°") - 1)) / 60
xSec = Val(Pertengahan(pInput, InStr(1, pInput, "'") + _
1, Len(pInput) - InStr(1, pInput, "'") - 1)) _
/ 3600
KonversiDesimal = xDeg + xMin + xSec
End Function
Komentar ini diminimalkan oleh moderator di situs
Hasil perhitungan SALAH... 29°30'13" 34°55'4" ---> 29.00083333 34.08333333
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan