¿Hay alguna manera (preferiblemente en Excel) de calcular la distancia (basada en lat, lon) entre dos listas de puntos?
Mi objetivo final sería, por ejemplo, tener una lista de Starbucks y una lista de McDonald's, y luego mostrarle al vecino más cercano, si lo desea.
Respuestas:
Dada una lista de pares de coordenadas geográficas, puede implementar la fórmula de Haversine directamente en Excel.
La forma más simple de usar esta fórmula (o una más precisa, pero creo que no es su caso) consiste en presionar
Alt+F11
para abrir el Editor de VBA, hacer clicInsert --> Module
y luego (copiar y) pegar, por ejemplo, el código sugerido amablemente por blah238.Habrá una nueva
getDistance
función personalizada (unidad = kilómetro) disponible en su hoja de cálculo que acepta cuatro parámetros, es decir, los dos pares de coordenadas, de la siguiente manera:donde
latitude1, longitude1, latitude2, longitude2
debe ser reemplazado por sus referencias de celda relativas.fuente
Una forma más precisa es usar la fórmula de Vicenty . Se basa en un elipsoide en lugar de una esfera. Sin embargo, la respuesta anterior hará el trabajo si trabaja en una ciudad (las diferencias pueden descuidarse en su caso). He encontrado un código de Excel vb aquí por si acaso.
Tenga en cuenta que si trabaja en una ciudad, el uso de distancias de "vuelo de pájaros" podría ser engañoso. Sería mejor usar distancias de red. Un compromiso es usar la "distancia de Manhattan"
fuente