Đưa ra một danh sách các cặp tọa độ địa lý, bạn có thể triển khai công thức Haversine trực tiếp trong Excel.
Cách đơn giản nhất để sử dụng công thức này (hoặc chính xác hơn, nhưng tôi nghĩ đó không phải là trường hợp của bạn) bao gồm nhấn Alt+F11
để mở Trình chỉnh sửa VBA, nhấp Insert --> Module
và sau đó (sao chép và) dán, ví dụ mã được đề xuất bởi blah238.
Public Function getDistance(latitude1, longitude1, latitude2, longitude2)
earth_radius = 6371
Pi = 3.14159265
deg2rad = Pi / 180
dLat = deg2rad * (latitude2 - latitude1)
dLon = deg2rad * (longitude2 - longitude1)
a = Sin(dLat / 2) * Sin(dLat / 2) + Cos(deg2rad * latitude1) * Cos(deg2rad * latitude2) * Sin(dLon / 2) * Sin(dLon / 2)
c = 2 * WorksheetFunction.Asin(Sqr(a))
d = earth_radius * c
getDistance = d
End Function
Sẽ có một getDistance
hàm tùy chỉnh mới (đơn vị = km) có sẵn trong bảng tính của bạn, chấp nhận bốn tham số, tức là hai cặp tọa độ, như sau:
getDistance(latitude1, longitude1, latitude2, longitude2)
nơi latitude1, longitude1, latitude2, longitude2
nên được thay thế bởi các tham chiếu ô tương đối của họ.