İçindekiler
Excel'in çok çeşitli uygulamaları vardır ve kullanırken VBA o zaman Excel'de istediğimiz her şeyi yapabiliriz gibi görünüyor. yerler arasındaki mesafeyi bulma Bu makalede, Excel'de Google Haritalar ile mesafeyi hesaplamak için keskin adımlar ve net resimlerle hızlı bir kılavuz göstereceğim.
Alıştırma Çalışma Kitabını İndirin
Ücretsiz Excel çalışma kitabını buradan indirebilir ve kendi başınıza pratik yapabilirsiniz.
Google-Maps ile Mesafe Hesaplama.xlsmGoogle Haritalar ile Excel'de Mesafe Hesaplamak için Kullanıcı Tanımlı Bir İşlev Kullanma
Burada, biz mesafeyi bulun MacArthur Park ve Jersey City arasında Google Maps kullanarak.
Öncelikle önemli bir şeyi bilmemiz gerekiyor. Google Haritalar'ı kullanarak Excel'de mesafeyi hesaplamak için bir API Anahtar. API anlamına gelir Uygulama Programlama Arayüzü . Excel, gerekli verileri toplamak için API anahtarını kullanarak Google Haritalar'a bağlanır. Bazı haritalar Bing Haritalar gibi ücretsiz API anahtarları sağlar. Ancak Google Haritalar ücretsiz API sağlamaz. Ücretsiz bir API'yi bir şekilde yönetseniz bile bu mükemmel çalışmayacaktır. API Bu bağlantıdan anahtar.
Burada, ücretsiz bir API tuşunu kullanacağız. Düzgün çalışmıyor, sadece örnek olarak göstermek için kullanıldı. VBA oluşturmak için kullanıcı tanımlı fonksiyon isimli Mesafe Hesapla için mesafeyi bulun Üç argümana sahip olacaktır- Başlangıç Yeri , Hedef ve API anahtarı Şimdi işlemlere başlayalım.
Adımlar:
- Basın ALT + F11 açmak için VBA penceresi .
- Ardından, aşağıdaki gibi tıklayın: Insert> Modül yeni bir modül oluşturmak için.
- Daha sonra, aşağıdaki kodları pencereye yazın-
Public Function Calculate_Distance(start As String, dest As String, Alink As String) As Double Dim first_Value As String, second_Value As String, last_Value As String Dim mitHTTP As Object first_Value = "//maps.googleapis.com/maps/api/distancematrix/json?origins=" second_Value = "&destinations=" last_Value = "&mode=car&language=pl&sensor=false&key=" & Alink Set mitHTTP =CreateObject("MSXML2.ServerXMLHTTP") Url = first_Value & Replace(start, " ", "+") & second_Value & Replace(dest, " ", "+") & last_Value mitHTTP.Open "GET", Url, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") If InStr(mitHTTP.ResponseText, """distance"" : {") = 0 Then GoTo ErrorHandl Set mit_reg =CreateObject("VBScript.RegExp"): mit_reg.Pattern = """value"".*?([0-9]+)": mit_reg.Global = False Set mit_matches = mit_reg.Execute(mitHTTP.ResponseText) tmp_Value = Replace(mit_matches(0).Submit_matches(0), ".", Application.International(xlListSeparator)) Calculate_Distance = CDbl(tmp_Value) Exit Function ErrorHandl: Calculate_Distance = -1 End Function
- O zaman hiçbir şey, sadece sayfanıza geri dönün.
Kod Dökümü:
- İlk olarak, bir Public Function prosedürü kullandım Mesafe Hesapla .
- Ardından bazı değişkenler bildirilir first_Value, second_Value ve last_Value kullanıcı tanımlı fonksiyonumuzun argümanları için.
- Değişkenler için değerleri ayarlayın (her değer kendi kendini tanımlar) ve mitHTTP içinde nesne SunucuXMLHTTP kullanmak için GET metodu (daha sonra kullanıldığında, bu nesne özelliği POSTA yöntemini de kullanabilirsiniz).
- Url daha önce ayarlanan tüm değerlerin birleşimidir, açık özelliği mitHTTP nesne onu kullandı.
- Değerleri atadıktan sonra kütüphane fonksiyonu hesaplamanın geri kalanını yapar.
Şimdi görüyorsunuz, fonksiyonumuz kullanıma hazır.
- İçinde Hücre C8 , aşağıdaki formülü yazın-
=Calculate_Distance(C4,C5,C6)
- Son olarak, sadece GİRİŞ Mesafeyi almak için düğmeye basın. Sayaç birimi .
Daha fazlasını okuyun: Excel'de İki Adres Arasındaki Sürüş Mesafesi Nasıl Hesaplanır
Google Haritalar ile Mesafe Hesaplarken Artılar ve Eksiler
- Geçerli bir API anahtarı .
- Yukarıdaki kod, aşağıdaki çıktıları verecektir Sayaç birimi .
- Kullanıcı tanımlı fonksiyon doğrudan yer adlarını kullanır, koordinat kullanmaya gerek yoktur.
- Geçerli bir yer kullandığınızdan emin olun.
Google Haritalar ile Mesafe Hesaplamanın Avantaj ve Dezavantajları
Avantajlar
- Büyük birkaç yer için, bu oldukça uygulanabilir çünkü Doldurma Kolu aracında formülü kopyalamak mümkün değildir. Google Haritalar
- Oldukça hızlı bir yol.
- Koordinat kullanmanıza gerek yok.
Dezavantajlar
- Koordinatlarla çalışamaz.
- Haritayı veya rotayı almayacaksınız, sadece mesafeyi alacaksınız.
- Yer adlarının yaklaşık eşleşmesi ile çalışmayacaktır.
Sonuç
Umarım yukarıda açıklanan prosedürler Google Haritalar ile Excel'de mesafe hesaplamak için yeterince iyi olur. Yorum bölümünde herhangi bir soru sormaktan çekinmeyin ve lütfen bana geri bildirimde bulunun. ExcelWIKI daha fazlasını keşfetmek için.