Excel มีช่วงการประยุกต์ใช้กว้างมาก และขณะใช้ VBA แล้ว ดูเหมือนว่าเราสามารถทำอะไรก็ได้ใน Excel ดังนั้น เราจึงสามารถ หาระยะทางระหว่างสถานที่ โดยใช้แผนที่ใน Excel ได้ ในบทความนี้ ฉันจะแสดงคู่มือเร็วในการคำนวณระยะทางใน Excel ด้วย Google Maps พร้อมขั้นตอนคมชัดและภาพประกอบที่ชัดเจน
คุณสามารถดาวน์โหลดสมุดงาน Excel ฟรีได้ที่นี่และฝึกฝนด้วยตนเอง
การใช้ฟังก์ชันที่ผู้ใช้กำหนดเองเพื่อคำนวณระยะทางใน Excel ด้วย Google Maps
ที่นี่ เราจะ หาระยะทาง ระหว่าง MacArthur Park และ Jersey City โดยใช้ Google Maps

ขั้นแรก เราต้องรู้สิ่งสำคัญหนึ่งอย่าง ในการคำนวณระยะทางใน Excel โดยใช้ Google Maps เราจะต้องมี API key API ย่อมาจาก Application Programming Interface Excel เชื่อมต่อกับ Google Maps โดยใช้ API key เพื่อรวบรวมข้อมูลที่จำเป็น บางแผนที่ให้ API key ฟรี เช่น Bing Maps แต่ Google Maps ไม่ให้ API ฟรี แม้คุณจะหา API ฟรีได้อย่างไรก็ตาม มันจะไม่ทำงานอย่างสมบูรณ์ ดังนั้น คุณจะต้องซื้อ API key จากลิงก์นี้
ที่นี่ ฉันได้หา API key ฟรีมา มันทำงานไม่ได้อย่างสมบูรณ์ ใช้เพื่อแสดงตัวอย่างเท่านั้น เราจะใช้ VBA สร้าง ฟังก์ชันที่ผู้ใช้กำหนดเอง ชื่อ Calculate_Distance เพื่อ หาระยะทาง จะมี 3 อาร์กิวเมนต์ – สถานที่เริ่มต้น, ปลายทาง, และ API key เริ่มกระบวนการกันเลย
ขั้นตอน:
- กด ALT + F11 เพื่อเปิด หน้าต่าง VBA

- คลิกตามนี้: Insert > Module เพื่อสร้างโมดูลใหม่

- พิมพ์โค้ดต่อไปนี้ในหน้าต่าง -
Public Function Calculate_Distance(start As String, dest As String) Dim first_Value As String, second_Value As String, last_Value As String first_Value = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=" second_Value = "&destinations=" last_Value = "&mode=car&language=pl&sensor=false&key=YOUR_KEY" 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).SubMatches(0), ".", Application.International(xlListSeparator)) Calculate_Distance = CDbl(tmp_Value) Exit Function ErrorHandl: Calculate_Distance = -1 End Function
- จากนั้นไม่ต้องทำอะไร แค่กลับไปที่ชีตของคุณ

การแยกวิเคราะห์โค้ด:
- ขั้นแรก ใช้กระบวนการ Public Function Calculate_Distance
- ประกาศตัวแปร first_Value, second_Value, และ last_Value สำหรับอาร์กิวเมนต์ของฟังก์ชันที่ผู้ใช้กำหนดเอง
- ตั้งค่าสำหรับตัวแปร (แต่ละค่าอธิบายตัวเองได้) และตั้งค่าอ็อบเจกต์ mitHTTP ใน ServerXMLHTTP เพื่อใช้วิธี GET (ใช้ภายหลัง คุณสมบัติอ็อบเจกต์นี้จะอนุญาตให้ใช้วิธี POST ได้เช่นกัน)
- Url เป็นการรวมของค่าทั้งหมดที่ตั้งค่าไว้ก่อนหน้า คุณสมบัติ open ของอ็อบเจกต์ mitHTTP ใช้มัน
- หลังจากกำหนดค่า ฟังก์ชันไลบรารีจะทำการคำนวณส่วนที่เหลือ
ตอนนี้คุณเห็น ฟังก์ชันของเราพร้อมใช้งานแล้ว

- ใน เซลล์ C8 พิมพ์สูตรต่อไปนี้ -
=Calculate_Distance(C4,C5,C6)- สุดท้าย กดปุ่ม ENTER เพื่อหาระยะทาง จะแสดงระยะทางในหน่วย เมตร

อ่านเพิ่มเติม: วิธีคำนวณระยะทางขับรถระหว่างที่อยู่สองแห่งใน Excel
ข้อดีและข้อเสียขณะคำนวณระยะทางด้วย Google Maps
- คุณต้องมี API key ที่ถูกต้อง
- โค้ดข้างต้นจะให้ผลลัพธ์ในหน่วย เมตร
- ฟังก์ชันที่ผู้ใช้กำหนดเองใช้ชื่อสถานที่โดยตรง ไม่ต้องใช้พิกัด
- ตรวจสอบให้แน่ใจว่าคุณใช้สถานที่ที่ถูกต้อง
ข้อดีและข้อเสียของการคำนวณระยะทางด้วย Google Maps
ข้อดี
- สำหรับสถานที่จำนวนมาก มันค่อนข้างเป็นไปได้ เพราะเราสามารถใช้เครื่องมือ Fill Handle คัดลอกสูตร ซึ่งทำไม่ได้ใน Google Maps
- เป็นวิธีที่ค่อนข้างเร็ว
- ไม่ต้องใช้พิกัด
ข้อเสีย
- ไม่สามารถทำงานกับพิกัดได้
- คุณจะไม่ได้แผนที่หรือเส้นทาง แค่ได้ระยะทางอย่างเดียว
- ไม่ทำงานกับการจับคู่ประมาณของชื่อสถานที่
สรุป
หวังว่าขั้นตอนที่อธิบายไว้ข้างต้นจะเพียงพอสำหรับการคำนวณระยะทางใน Excel ด้วย Google Maps รู้สึกสบายใจที่จะถามคำถามในส่วนความคิดเห็นและกรุณาให้ข้อเสนอแนะ เยี่ยมชม ExcelDemy เพื่อสำรวจเพิ่มเติม
บทความที่เกี่ยวข้อง
- วิธีคำนวณระยะทางระหว่างพิกัด GPS สองจุดใน Excel
- คำนวณพิกัดจากแบริ่งและระยะทางใน Excel
- วิธีคำนวณระยะทาง Mahalanobis ใน Excel (ขั้นตอนต่อขั้นตอน)
- คำนวณไมล์ระหว่างที่อยู่สองแห่งใน Excel (2 วิธี)
- วิธีคำนวณระยะทาง Manhattan ใน Excel (2 วิธีที่เหมาะสม)
- คำนวณระยะทาง Levenshtein ใน Excel (4 วิธีง่าย)