Ingin tahu cara mengira jarak antara koordinat dalam Excel ? Di sini, kami akan mengajar anda cara mengira jarak dalam Excel menggunakan latitud dan longitud dalam tutorial ini. Kami menjemput anda untuk terus bersama kami.
Di sini anda boleh mengetahui lebih lanjut tentang: Cara Mencipta Carta Vektor dalam Excel. 3 Langkah untuk Diikuti
Kaedah untuk mengira jarak antara koordinat dalam Excel
Pencarian untuk penyelesaian yang tepat untuk masalah ini telah membawa saya ke banyak tapak dan cubaan penyelesaian. Senarai panjang tapak berkaitan disertakan pada penghujung semua ini, tetapi yang paling penting yang kami dapati bahawa penyelesaian yang paling boleh dilaksanakan ialah mengira jarak antara koordinat dalam Excel.
Sekarang, mari kita lihat kaedah terbaik untuk mengira jarak antara koordinat dalam Excel:
Kira jarak antara koordinat dalam Excel (Latitud dan Longitud, Formula)
Formula yang diterima untuk memberikan hasil dengan ketepatan milimeter dikenali sebagai formula Vincenty. Sememangnya, ketepatan keputusan bergantung sebahagian besarnya pada ketepatan pasangan latitud/longitud yang menerangkan dua titik.
Mengapa perlu kecoh tentang ketepatan? Daripada apa yang telah kita lihat tentang formula lain, terutamanya yang ditulis sebagai fungsi lembaran kerja tunggal, nilainya agak berbeza untuk situasi yang mungkin dianggap 'kritikal dalam hidup'.
Mereka biasanya pendek beberapa meter, biasanya kira-kira 20 hingga 30 kaki setiap batu statut, dan selepas terbang hanya 30 atau 40 batu, kami tidak keberatan mendarat beberapa ratus kaki dari hujung pendekatan landasan, apalagi menjadi jauh lebih daripada 7 batu dalam perjalanan antara Los Angeles dan Honolulu.
Oleh kerana kecenderungan umum apabila berurusan dengan pengiraan jenis ini adalah untuk " mengukurnya dengan mikrometer, menandanya dengan kapur, dan memotongnya dengan kapak ," apa yang kita ada di sini ialah mikrometer yang sangat tepat untuk memulakan proses pengukuran.
Kaedah 1: Kira jarak antara koordinat dalam Excel (Formula untuk jarak)
Terdapat banyak fungsi hamparan Excel yang akan mengembalikan tajuk awal dari satu titik ke titik destinasi untuk laluan Bulatan Besar di antara mereka dan formula serupa untuk mengembalikan jarak antara mereka.
Namun berdasarkan pengalaman menggunakannya dan membandingkannya dengan jarak terukur yang diketahui, kaedah Vincenty untuk mengira jarak antara koordinat dalam Excel belum diterjemahkan ke dalam satu fungsi hamparan tunggal, dan kemungkinan besar ia tidak akan mudah, sekurang-kurangnya.
Oleh kerana ia bergantung pada pengiraan berulang untuk menangani mata yang hampir berada di sisi yang bertentangan dengan dunia, melaksanakannya walaupun sebagai satu siri formula hamparan Excel adalah tugas yang sukar.
Kaedah 2: Kira jarak antara koordinat dalam Excel (Bekerja dengan sudut)
Tetapi sebelum menggunakan ciri ini, terdapat beberapa langkah awal untuk dipertimbangkan. Paling ketara, Excel dan VB berfungsi dengan sudut yang dinyatakan dalam radian, bukan sebagai nilai perpuluhan sudut, mahupun daripada perwakilan "Inggeris biasa" awal mereka.
Pertimbangkan keadaan ini:
Anda mempunyai Latitud yang diwakili sebagai 10° 27′ 36″ S (10 darjah, 27 minit 36 saat Selatan)
Anda perlu menukarnya kepada radian, dan tiada cara langsung untuk melakukannya, sebelum kita boleh menukarnya kepada radian, ia perlu ditukar kepada perwakilan perpuluhan. Kita perlu melihatnya sebagai: 10.46 iaitu bersamaan perpuluhan dengan 10° 27′ 36″ dan kita perlu mengambil kira sama ada ia adalah latitud utara atau selatan, dan latitud selatan dianggap sebagai nombor negatif.
Mujurlah, Microsoft menyediakan beberapa fungsi berguna untuk menukar notasi sudut piawai kepada setara perpuluhannya, dan sebaliknya, di halaman ini: Fungsi Microsoft
Rutin tersebut disertakan dalam bahagian kod dan salah satu daripadanya mempunyai perubahan yang dibuat untuk membolehkan membuat input sudut biasa seperti
- 10~ 27′ 36″ S bukannya 10° 27′ 36″ S
Kerana ~ boleh diakses terus dari papan kekunci, manakala ° tidak.
Kaedah 3: hitung jarak antara koordinat dalam Excel (Menukar kepada Radian)
Selepas menukar tatatanda piawai kepada nilai perpuluhan, kita masih perlu menukarnya kepada radian dan berurusan dengan tanda hasil radian.
Rutin dan formula di sini menganggap latitud negatif sebagai latitud selatan dan longitud negatif sebagai longitud barat. Walaupun ini mungkin kelihatan tidak adil bagi kita yang tinggal di Hemisfera Barat, apa yang boleh saya katakan selain daripada menanganinya?
Nilai darjah perpuluhan boleh ditukar kepada radian dalam beberapa cara dalam Excel, dan proses ini menggunakan fungsi mudah yang turut disertakan dalam kod di bawah.
Formula asas adalah seperti berikut:
- Radian = sudutAsPerpuluhan x (Pi / 180)
- di mana Pi ialah 3.14159265358979
Kaedah 4: hitung jarak antara koordinat dalam Excel (Penyelesaian muktamad)
- langkah 1: Salin semua kod di bawah dan tampalkannya ke dalam modul kod biasa dalam buku kerja anda. Arahan untuk meletakkan kod dalam modul biasa ada di sini: Salin kod Excel VBA ke dalam modul biasa
- langkah 2: Konfigurasikan lembaran kerja anda untuk melepasi latitud dan longitud titik mula dan tamat sebagai input standard
- langkah 3: kemudian masukkan formula untuk menghantarnya ke fungsi distVincenty().
Diberi dua titik dengan koordinat ini:
Perkara 1:
- Latitud: 37° 57′ 3.7203″ S
- Longitud: 144° 25′ 29.5244″ E
Perkara 2:
- Latitud: 37° 39′ 10.1561″ S
- Longitud: 143° 55′ 35.3839″ E
Format umum panggilan fungsi ialah:
=distVincenty(Pt1_LatAsDecimal, Pt1_LongAsDecimal, Pt2_LatAsDecimal, Pt2_LongAsDecimal)
Formula mentah akan kelihatan seperti ini [Perhatikan petikan berganda selepas entri saat]. Fungsi SignIt(), yang disediakan sebagai sebahagian daripada kod, menukar input Sudut standard kepada nilai perpuluhan yang ditandatangani.
=distVincenty(SignIt(«37° 57′ 3.7203″» S «), SignIt(«144° 25′ 29.5244″» E»), SignIt(«37° 39′ 10.1561″» S»), SignIt(«143° 55′ 35.3839″» E»))
Anda boleh menggunakan simbol ~ dan bukannya simbol ° jika ia lebih mudah untuk anda:
=distVincenty(SignIt(«37~ 57′ 3.7203″» S«), SignIt(«144~ 25′ 29.5244″» E»), SignIt(«37~ 39′ 10.1561″» S»), SignIt(«143~ 55′ 35.3839″» E»))
Jika koordinat Titik 1 berada di B2 dan C2 dan koordinat Titik 2 berada di B3 dan C3, maka ia boleh dimasukkan sebagai
= distVincenty(SignIt(B2), SignIt(C2), SignIt(B3), SignIt(C3))
Hasil daripada 2 titik sampel yang digunakan di atas hendaklah 54972,271, dan keputusan ini adalah dalam meter.
Kaedah 5: Kira jarak antara koordinat dalam Excel (Masalah yang dihadapi)
Kod awal yang kami mula gunakan menghasilkan ralat " formula terlalu kompleks " dalam dua pernyataan. Pernyataan ini pada mulanya dibahagikan kepada dua bahagian, dan kemudian dua pengiraan berasingan itu " digabungkan semula " menjadi satu formula untuk mendapatkan hasil akhir tanpa ralat " formula terlalu kompleks ".
Semasa penyediaan dokumen ini, pakej tersebut telah diuji pada Excel 2010 64-bit dan mula mengembalikan ralat #VALUE! untuk semua nilai input.
Siasatan tersebut mendapati bahawa sebahagian daripada formula yang telah dibahagikan untuk menentukan nilai deltaSigma telah menghasilkan ralat limpahan. Ralat ini tidak berlaku dalam versi 32-bit Excel 2010, mahupun dalam Excel 2003 (aplikasi 32-bit).
Baris kod yang menyinggung itu sekali lagi dipecahkan kepada kepingan yang lebih kecil yang akhirnya disatukan semula dalam proses yang betul secara matematik yang menghasilkan penentuan nilai yang sesuai tanpa menggunakan sebarang perubahan kepada algoritma asal.
Bahagian ini dinyatakan dalam ulasan kod untuk fungsi distVincenty() di bawah.
Kod latitud longitud untuk mengira jarak antara koordinat dalam Excel
Sekarang, akhirnya, kod:
'****************************************
PI Const Persendirian = 3.14159265358979
Private Const EPILON Sebagai Ganda _
= 0.000000000001
'=========================================
Fungsi Awam distVincenty(ByVal _
lat1 Sebagai Ganda, ByVal lon1 Sebagai Ganda, _
ByVal lat2 Sebagai Ganda, _
ByVal lon2 As Double) As Double
'INPUT: Latitud dan Longitud
'titik awal dan destinasi
' dalam format perpuluhan.
'OUTPUT: Jarak antara
' dua mata dalam Meter.
'
'==========================================
' Kira jarak geodesik (dalam m)
'antara dua titik yang ditentukan oleh
' latitud/longitud (dalam angka
'[perpuluhan] darjah)
'menggunakan formula songsang Vincenty
' untuk ellipsoid
'================================
' Kod telah dialihkan oleh lost_species
' daripada www.aliencoffee.co.uk kepada VBA
' daripada javascript yang diterbitkan di:
' https://www.movable-type.co.uk/scripts
' /latlong-vincenty.html
' * daripada: formula songsang Vincenty –
'T Vincenty, «Terus dan Songsang
'Penyelesaian Geodesik pada
' * Ellipsoid dengan aplikasi
'persamaan bersarang', Kajian Tinjauan,
' jld XXII no 176, 1975
' * https://www.ngs.noaa.gov/
' PUBS_LIB/inverse.pdf
'Rujukan Tambahan:
' https://en.wikipedia.org/wiki/
'Vincenty%27s_formulae
'==========================================
' Hak cipta lost_species 2008 LGPL
' https://www.fsf.org/licensing/
' licenses/lgpl.html
'==========================================
'Pengubahsuaian kod untuk mengelakkan
Ralat 'Formula Terlalu Kompleks' dalam
'Excel (2010) pelaksanaan VBA
'disediakan oleh Jerry Latham,
'Microsoft MVP Excel, 2005-2011
'23 Julai 2011
'==========================================
Malap rendah_a Sebagai Ganda
Malapkan rendah_b Sebagai Ganda
Malapkan f Sebagai Ganda
Malapkan L Sebagai Ganda
Malapkan U1 Sebagai Ganda
Malapkan U2 Sebagai Ganda
Malapkan sinU1 Berganda
Malapkan sinU2 Berganda
Dim cosU1 As Double
Dim cosU2 As Double
Malapkan lambda Sebagai Ganda
Malapkan lambdaP Sebagai Ganda
Dim iterLimit Sebagai Integer
Malapkan sinLambda Sebagai Ganda
Malapkan kosLambda Sebagai Ganda
Malapkan sinSigma Sebagai Ganda
Dim cosSigma As Double
Sigma malap Sebagai Ganda
Malapkan sinAlpha Sebagai Ganda
Dim cosSqAlpha As Double
Malapkan cos2SigmaM Sebagai Ganda
Malapkan C Sebagai Ganda
Malapkan uSq Sebagai Ganda
Malapkan bahagian atas_A Sebagai Ganda
Malapkan bahagian atas_B Sebagai Ganda
Malapkan deltaSigma Sebagai Ganda
Keputusan akhir Dim s As Double,
'akan dikembalikan bulat kepada
' 3 tempat perpuluhan (mm).
'tambah JLatham untuk berpisah
Formula 'Terlalu Kompleks'
'ke dalam kepingan untuk dikira dengan betul
'formula tersebut seperti yang dinyatakan di bawah
'dan untuk mengelakkan ralat limpahan apabila
'menggunakan Excel 2010 x64 dihidupkan
Sistem Windows 7 x64
Dim P1 As Double ' digunakan untuk mengira
'sebahagian daripada formula kompleks
Dim P2 As Double ' digunakan untuk mengira
'sebahagian daripada formula kompleks
Dim P3 As Double ' digunakan untuk mengira
'sebahagian daripada formula kompleks
'Lihat https://en.wikipedia.org/wiki
' /Sistem_Geodetik_Dunia
'untuk maklumat tentang pelbagai Ellipsoid
' parameter untuk piawaian lain.
'rendah_a dan rendah_b dalam meter
' === GRS-80 ===
'low_a = 6378137
'low_b = 6356752.314245
' f = 1 / 298.257223563
'
' === Airy 1830 === Dilaporkan terbaik
'ketepatan untuk England
' dan Eropah Utara.
'low_a = 6377563.396
'low_b = 6356256.910
' f = 1 / 299.3249646
'
' ===Antarabangsa 1924 ===
'low_a = 6378388
'low_b = 6356911.946
' f = 1 / 297
'
'===Model Clarke 1880===
'low_a = 6378249.145
'low_b = 6356514.86955
' f = 1 / 293.465
'
' === GRS-67 ===
'low_a = 6378160
'low_b = 6356774.719
' f = 1 / 298.247167
'== Parameter Ellipsoid WGS-84 ===
low_a = 6378137 ' +/- 2m
low_b = 6356752.3142
f = 1/298.257223563
'================================
L = toRad(lon2 – lon1)
U1 = Atn((1 – f) * Tan(toRad(lat1)))
U2 = Atn((1 – f) * Tan(toRad(lat2)))
sinU1 = Sin(U1)
cosU1 = Cos(U1)
sinU2 = Sin(U2)
cosU2 = Cos(U2)
lambda = L
lambdaP = 2 * PI
iterLimit = 100 ' boleh ditetapkan
' serendah 20 jika mahu.
Manakala (Abs(lambda – lambdaP) > _
EPSILON) Dan (iterLimit > 0)
iterLimit = iterLimit – 1
sinLambda = Dosa(lambda)
cosLambda = Cos(lambda)
sinSigma = Sqr(((cosU2 * sinLambda) _
^2) + ((cosU1 * sinU2 – sinU1 _
*cosU2 *cosLambda) ^2))
Jika sinSigma = 0 Maka
distVincenty = 0 'mata kejadian bersama
Fungsi Keluar
End If
cosSigma = sinU1 * sinU2 + cosU1 _
*cosU2 *cosLambda
sigma = Atan2(cosSigma, sinSigma)
sinAlpha = cosU1 * cosU2 * _
sinLambda / sinSigma
cosSqAlpha = 1 – sinAlpha * sinAlpha
Jika cosSqAlpha = 0 Kemudian 'semak untuk
'bahagi dengan sifar
cos2SigmaM = 0 '2 mata di khatulistiwa
Yang lain
cos2SigmaM = cosSigma – 2 _
* sinU1 * sinU2 / cosSqAlpha
End If
C = f / 16 * cosSqAlpha * (4 + f _
* (4 – 3 * cosSqAlpha))
lambdaP = lambda
'pengiraan asal ialah
'Terlalu Kompleks' untuk Excel VBA
'untuk berurusan dengan
'jadi ia dipecahkan kepada segmen
'untuk mengira tanpa isu itu
'pelaksanaan asal
'untuk mengira lambda
'lambda = L + (1 – C) * f * sinAlpha * _
(sigma + C * sinSigma * (cos2SigmaM
' + C * cosSigma * (-1 + 2
' * (cos2SigmaM ^ 2))))
'kira bahagian
P1 = -1 + 2 * (cos2SigmaM^2)
P2 = (sigma + C * sinSigma * _
(cos2SigmaM + C * cosSigma * P1))
'selesaikan pengiraan
lambda = L + (1 – C) * f _
*tanpaAlpha*P2
Wend
Jika iterLimit > 1 Kemudian
MsgBox_
«had lelaran telah dicapai,» _
& »sesuatu tidak berjaya.»
Fungsi Keluar
End If
uSq = cosSqAlpha * (rendah_a ^ 2 _
–low_b^2)/(low_b^2)
'pengiraan asal ialah
'Terlalu Kompleks' untuk Excel VBA
'untuk berurusan dengan
'jadi ia dipecahkan kepada segmen kepada
'kira tanpa isu itu
'pelaksanaan asal kepada
'kira upper_A
'atas_A = 1 + uSq / 16384 *
' (4096 + uSq * (-768 + uSq *
' (320 – 175 * uSq)))
'kira satu bahagian persamaan
P1 = (4096 + uSq * (-768 _
+ uSq * (320 – 175 * uSq)))
'selesaikan pengiraan
atas_A = 1 + uSq / 16384 * P1
'cukup aneh, upper_B mengira
'tanpa sebarang isu – JLatham
upper_B = uSq / 1024 * (256 + uSq _
* (-128 + uSq * (74 – 47 * uSq)))
'pengiraan asal ialah
'Terlalu Kompleks' untuk Excel VBA
'untuk berurusan dengan
'jadi ia dipecahkan kepada segmen kepada
'kira tanpa isu itu
'pelaksanaan asal kepada
' hitung deltaSigma
'deltaSigma = upper_B * sinSigma *
'(cos2SigmaM + upper_B / 4 *
' (cosSigma * (-1 + 2
'*cos2SigmaM^2)_
–upper_B/6 *cos2SigmaM*
'(-3 + 4 * sinSigma ^ 2) *
' (-3 + 4 *cos2SigmaM ^ 2)))
'kira kepingan
' formula deltaSigma
'dipecahkan kepada 3 bahagian untuk mengelakkan
'ralat limpahan yang mungkin berlaku dalam
'Excel 2010 versi 64-bit.
P1 = (-3 + 4 * sinSigma ^ 2) * _
(-3 + 4 * cos2SigmaM^2)
P2 = upper_B * sinSigma
P3 = (cos2SigmaM + upper_B / 4 * _
(cosSigma * (-1 + 2 _
*cos2SigmaM^2) – _
upper_B / 6 * cos2SigmaM * P1))
'pengiraan deltaSigma lengkap
deltaSigma = P2 * P3
'kira jarak
s = rendah_b * atas_A * _
(sigma – deltaSigma)
'jarak bulat kepada milimeter
distVincenty = Pusingan(s, 3)
Fungsi akhir
'=========================================
Fungsi SignIt(Degree_Dec Sebagai Rentetan) _
Berganda
'Input: perwakilan rentetan daripada
' lat atau panjang dalam
' format 10° 27' 36″ S/N
' atau 10~ 27' 36″ E/W
'OUTPUT: nilai perpuluhan yang ditandatangani
'bersedia untuk menukar kepada radian
'
Malapkan Nilai perpuluhan Sebagai Ganda
Malapkan tempString Sebagai String
tempString = UCase(Trim(Degree_Dec))
Nilai perpuluhan = _
Convert_Decimal(tempString)
Jika Betul(tempString, 1) = «Y» _
Atau Kanan(tempString, 1) = "W" Kemudian
decimalValue = decimalValue * -1
End If
SignIt = nilai perpuluhan
Fungsi akhir
'=========================================
Fungsi Convert_Degree(Decimal_Deg) _
Sebagai Varian
'sumber: https://support.microsoft.com/
' kb/213449
'
'menukar kepada darjah perpuluhan
' perwakilan kepada deg min saat
'sebagai 10.46 kembali 10° 27' 36″
'
Darjah malap Sebagai Varian
Malapkan minit Sebagai Varian
Malapkan saat Sebagai Varian
Dengan Permohonan
'Tetapkan darjah kepada Integer of
'Hujah Lulus
darjah = Int(Decimal_Deg)
'Tetapkan minit kepada 60 kali ganda
'nombor di sebelah kanan
'daripada perpuluhan bagi
' pembolehubah Decimal_Deg
minit = (Decimal_Deg – _
darjah) * 60
'Tetapkan saat kepada 60 kali ganda
'nombor di sebelah kanan
'perpuluhan untuk Minit pembolehubah
saat = Format(((minit – _
Int(minit)) * 60), «0»)
'Mengembalikan Keputusan ijazah
' penukaran
'(contohnya, 10.46 = 10° 27' 36″)
Convert_Degree = » » & darjah _
& «° » & Int(minit) & «' » _
& saat + Chr(34)
Akhir Dengan
Fungsi akhir
'=========================================
Fungsi Menukar_Perpuluhan_
(Degree_Deg Sebagai Rentetan) Sebagai Ganda
'sumber: https://support.microsoft.com/
' kb/213449
' Isytiharkan pembolehubah menjadi
' titik terapung berketepatan ganda.
'Menukar masukan sudut teks kepada
' perpuluhan setara, seperti:
' 10° 27' 36″ mengembalikan 10.46
' alternatif kepada ° dibenarkan:
' Gunakan ~ sebaliknya, sebagai:
' 10~ 27' 36″ juga mengembalikan 10.46
Darjah malap Sebagai Ganda
Malapkan minit As Double
Malapkan saat Sebagai Ganda
'
'pengubahsuaian oleh JLatham
'membenarkan pengguna menggunakan ~
simbol ' bukannya ° untuk menandakan darjah
'sejak ~ boleh didapati daripada
' papan kekunci dan ° perlu dimasukkan
'melalui [Alt] [0] [1] [7] [6]
' pada pad nombor.
Degree_Deg = Ganti(Degree_Deg, _
«~», «°»)
' Tetapkan darjah kepada nilai sebelum ini
' «°» daripada Hujah Lulus.
darjah = Val(Kiri(Degree_Deg, _
InStr(1, Degree_Deg, «°») – 1))
' Tetapkan minit kepada nilai antara
' yang «°» dan «'»
' daripada rentetan teks untuk pembolehubah
' Degree_Deg dibahagikan dengan
' 60. Fungsi Val menukarkan
' rentetan teks kepada nombor.
minit = Val(Pertengahan(Degree_Deg, _
InStr(1, Degree_Deg, «°») + 2, _
InStr(1, Degree_Deg, «'») – _
InStr(1, Degree_Deg, «°») – 2)) / 60
'Tetapkan saat kepada nombor kepada
' kanan «'» iaitu
'ditukar kepada nilai dan kemudian
' dibahagikan dengan 3600.
saat = Val(Pertengahan(Degree_Deg, _
InStr(1, Degree_Deg, «'») + _
2, Len(Degree_Deg) – _
InStr(1, Degree_Deg, «'») – 2)) _
/ 3600
Tukar_Perpuluhan = darjah _
+ minit + saat
Fungsi akhir
'=========================================
Fungsi Peribadi kepadaRad(ByVal _
darjah As Double) As Double
toRad = darjah * (PI / 180)
Fungsi akhir
'=========================================
Fungsi Peribadi Atan2( _
ByVal X Berganda, _
ByVal Y As Double) As Double
'kod yang diberi nama panggilan daripada:
' https://en.wikibooks.org/wiki/
' Pengaturcaraan: Visual_Basic_Classic/
'Aritmetik_Mudah
' #Trigonometrik_Fungsi
'Jika anda menggunakan semula berhati-hati ini:
'x dan y telah diterbalikkan daripada
'penggunaan biasa.
Jika Y > 0 Maka
Jika X >= Y Maka
Atan2 = Atn(Y / X)
LainJika X <= -Y Kemudian
Atan2 = Atn(Y / X) + PI
Yang lain
Atan2 = PI / 2 – Atn(X / Y)
End If
Yang lain
Jika X >= -Y Maka
Atan2 = Atn(Y / X)
LainJika X <= Y Maka
Atan2 = Atn(Y / X) – PI
Yang lain
Atan2 = -Atn(X / Y) – PI / 2
End If
End If
Fungsi akhir
'=========================================
Cara mengira jarak antara koordinat dalam Excel dengan formula jarak
Sekarang, mari lihat cara mengira jarak antara koordinat dalam Excel dengan formula jarak:
Formula generik adalah seperti berikut = AKAR KUASA ((x2 – x1)^2 + (y2 – y1)^2)
Ringkasan
Untuk mengira panjang garisan 2D yang diberikan koordinat dua titik pada garisan, anda boleh menggunakan formula jarak, disesuaikan untuk sintaks formula Excel. Dalam contoh yang ditunjukkan, formula dalam G5, yang disalin ke bawah, ialah:
=SQRT((D5 – B5)^2 + (E5 – C5)^2)
di mana koordinat dua titik diberikan dalam lajur B hingga E.
Penjelasan
Panjang garis boleh dikira dengan formula jarak, yang kelihatan seperti ini:
Jarak ialah punca kuasa dua perubahan dalam x kuasa dua ditambah dengan perubahan dalam y kuasa dua, di mana dua titik diberikan dalam bentuk (x 1, y 1) dan (x 2, y 2). Formula jarak ialah contoh aplikasi Teorem Pythagoras, di mana perubahan dalam x dan perubahan dalam y sepadan dengan dua sisi segi tiga tepat, dan hipotenus ialah jarak yang dikira.
Dalam Excel, formula jarak boleh ditulis dengan operator eksponen (^) dan fungsi SQRT adalah seperti berikut:
- =SQRT((D5 – B5)^2 + (E5 – C5)^2)
Mengikuti tertib operasi Excel, perubahan dalam x dan perubahan dalam y dikira, kemudian kuasa dua, dan dua keputusan ditambah dan dihantar ke fungsi SQRT, yang mengembalikan punca kuasa dua jumlah sebagai hasil akhir :
=SQRT((D5 – B5)^2 + (E5 – C5)^2)
=SQRT((6)^2 + (8)^2)
=SQRT(36+64)
=SQRT(100)
= 10
Fungsi POWER juga boleh digunakan sebagai ganti operator eksponen (^) seperti ini:
= SQRT(KUASA(D5 – B5, 2) + KUASA(E5 – C5, 2))
dengan hasil yang sama.
Kaedah untuk mengira jarak antara koordinat dalam Excel (jarak, menukar darjah dan alamat geokod)
Jika anda mempunyai senarai panjang koordinat geografi untuk digunakan, hamparan Microsoft Excel pasti akan berguna. Terdapat tiga alat Excel asas yang boleh berfungsi untuk anda, tidak kira bagaimana anda mahu memanipulasi koordinat geografi.
Anda perlu tahu cara mengira jarak antara koordinat dalam Excel, cara menukar data latitud dan longitud kepada darjah perpuluhan, dan akhirnya, cara geokod latitud dan longitud.
Kaedah 1: Kira jarak antara koordinat dalam Excel
Dalam contoh cara mengira jarak antara dua koordinat dalam Excel, kita akan melihat untuk mengukur jarak bulatan besar. Kita akan melihat bahawa latitud dan longitud dilambangkan dalam darjah, minit dan saat.

Cara mengira jarak antara koordinat dalam Excel dengan menukar latitud dan longitud kepada darjah perpuluhan
Segala-galanya, walaupun sesuatu yang rumit seperti darjah, minit dan saat, boleh ditukar kepada perpuluhan. Bahagian darjah tetap sama, tetapi minit dan saat mesti ditukar kepada peratusan darjahnya dan digabungkan.
Terdapat 60 minit dalam satu darjah dan 60 saat dalam satu minit (yang bermaksud 3600 saat dalam satu darjah). Oleh itu, minit dibahagikan dengan 60 dan saat dengan 3.600.
Formula umum:
- Jumlah Darjah (dalam bentuk perpuluhan) = Darjah + [Minit/60] + [Saat/3600]

…Mengenai jarak itu
Memandangkan anda mempunyai nilai latitud dan longitud dalam perpuluhan, anda hanya menghadapi persamaan untuk batu nautika antara Timbuktu dan Casablanca, yang diberikan di bawah.
Batu nautika = ACOS [(sin(Lat_place_1*PI()/180)*sin(Lat_place_2*PI()/180)+ cos(Lat_place_1*PI()/180)*cos(Lat_place_2*PI()/180)* cos(Lon_place_2*PI()/180-Lon_place_1*PI()/180)) ] *3443.8985
Jumlah tiga ribu itu, pada akhirnya, adalah jejari Bumi, dalam Batu Nautika. Walaupun anda menggantikannya dengan jejari sfera, dengan mengandaikan Bumi adalah sfera, pada 3437,7468 NM, ia tidak akan mendekati jarak sebenar dan tepat.
Kaedah 2: Kira jarak antara koordinat dalam Excel (Geokod latitud dan longitud)
Geokod ialah proses menukar alamat jalan kepada data latitud dan longitud yang boleh dipetakan. Terdapat dua cara untuk geokod latitud dan longitud daripada hamparan Excel: cara yang sukar dan cara yang mudah.
Pertama sekali, kita akan membincangkan cara yang sukar, iaitu apa yang anda perlukan jika anda mahu koordinat dibenamkan dalam dokumen Excel anda. Anda perlu menulis skrip Visual Basic (VBA) untuk memanggil geocoder luaran atau mencari kod di tempat lain. Terdapat beberapa API geocoder yang tersedia, dan ada yang lebih pantas daripada yang lain.
API pengekodan geo Peta Google merupakan pilihan biasa, dan ini adalah API yang akan kita panggil dengan cara yang mudah. Walau bagaimanapun, anda juga boleh bekerja secara langsung dalam Excel. Berbekalkan kod yang telah anda tulis atau temui, berikut ialah langkah-langkah untuk melaksanakan pengekodan geo dalam Excel.
Cara yang sukar
- Langkah 1:cari tab Pemaju dalam versi Excel anda.
- Langkah 2:cari tab «Visual Basic«. Ini membuka tetingkap pembangunan.
- Langkah 3:Sisip -> Modul. Modul baharu akan mengekalkan fungsi anda.
- Langkah 4: Di sinilah anda menyalin dan menampal kod anda.
- Langkah 5:Kita perlu menambah rujukan sekarang. Jadi, Alat -> Rujukan. Pastikan anda menyemak Microsoft XML v6.0. KLIK TERIMA.
- Langkah 6:Tekan CTRL / CMD +S. Simpan sebagai jenis —> Tambahan Excel. Kini anda boleh menamakan fungsi anda. Sambungan mesti xlam. Sudah tiba masanya untuk menutup semua fail Excel.
- Langkah 7:Buka fail baharu mengikut laluan berikut: Fail —> Pilihan —> Pemalam. Dalam kotak Urus, pilih Add-in Excel.
- Langkah 8:Tekan Ir. Pilih fungsi dalam tetingkap yang muncul dengan menandakan kotak. Tekan
- Langkah 9:Kini anda boleh menggunakan fungsi baharu yang anda buat, seperti mana-mana fungsi lain.
NOTA : Setelah anda selesai mendapatkan nilai, salin dan tampalkannya di tempat lain, di luar hamparan yang mengandungi pengiraan. Kemudian, alih keluar panggilan fungsi kerana jika tidak, apabila anda membuka semula fail ini, Google API akan mula menerima ping sekali lagi. Ini akan mengambil masa beberapa minit sebelum fail dibuka. Untuk mengoptimumkan penggunaan sumber Google, berikan jeda 10 saat antara ping.
Ini adalah banyak langkah dan ia menganggap anda telah menemui beberapa kod untuk diuji. Seterusnya, kami akan melihat cara paling mudah untuk geokod data Excel anda. Ia pantas dan boleh dipercayai, tetapi ia tidak akan mengimport koordinat ke dalam fail Excel anda. Sebaliknya, alat geokod Excel mudah untuk disalin dan ditampal serta memberikan anda peta interaktif.
Cara mudah (kira jarak antara koordinat dalam Excel semasa membuat peta)
Terdapat beberapa cara untuk membuat peta dengan data Excel. Mungkin yang paling mudah ialah dengan hanya menyalin dan menampal data hamparan anda ke dalam alat pemetaan kami. Melakukannya menukar dokumen Excel anda menjadi peta interaktif yang indah.
- langkah 1: Untuk membuat peta anda sendiri berdasarkan koordinat latitud dan longitud, pisahkan koordinat ke dalam lajurnya sendiri dalam hamparan anda.



- langkah 2: Kemudian, pilih dan salin baris dan lajur hamparan anda (arahan Ctrl+C atau Cmd+C dalam Mac) dan Tampal (Ctrl+V atau Cmd+V pada Mac) ke dalam data anda, dan anda sudah selesai!
Anda mungkin juga berminat untuk membaca tentang: Cara Menggunakan Fungsi QUARTILE dalam Excel – Panduan Lengkap
Kesimpulan
Seperti yang anda lihat, ini ialah kaedah yang boleh anda gunakan untuk mengira jarak antara koordinat dalam Excel. Sama ada anda ingin mencipta peta latitud dan longitud atau mencipta panduan perkahwinan maya anda sendiri untuk tetamu anda, proses ini menawarkan cara percuma dan mudah untuk mencipta peta web yang cantik yang sedia untuk disimpan dan dikongsi. Kami berharap dapat membantu anda dengan maklumat ini.
Nama saya Javier Chirinos dan saya meminati teknologi. Seingat saya, saya gemar komputer dan permainan video dan hobi itu berakhir dengan pekerjaan.
Saya telah menerbitkan tentang teknologi dan gajet di Internet selama lebih daripada 15 tahun, terutamanya dalam mundobytes.com
Saya juga pakar dalam komunikasi dan pemasaran dalam talian dan mempunyai pengetahuan tentang pembangunan WordPress.