Tabla de contenido
El artículo le mostrará cómo calcular el distancia Microsoft Excel dispone de una función especial y una fórmula muy interesante para calcular la distancia entre dos direcciones en Excel. encontrar la distancia entre dos lugares del mundo. Si tiene Coordenadas GPS de dos lugares, puede fácilmente determinar la distancia entre esos lugares en la unidad que quieras.
Descargar el cuaderno de prácticas
Cálculo de la distancia entre dos direcciones.xlsm
3 maneras de calcular la distancia entre dos direcciones en Excel
En nuestro conjunto de datos, tenemos Latitud y Longitud para Ohio y Alaska Vamos a medir la distancia entre ellos.
En Latitudes para Ohio y Alaska son 40.4173 Norte y 64.2008 Norte Además, el Longitudes para Ohio y Alaska son 82,9071 Oeste y 149.4937 Oeste respectivamente.
1. Uso de la fórmula de Haversine para calcular la distancia entre dos direcciones
Si se le dan bien las matemáticas, utilizar Fórmula Haversine será perfecto para ti. Aunque te dará un resultado aproximado, es bastante bueno.
En primer lugar, necesitamos conocer el fórmula básica de la longitud de arco Y utilizando esa fórmula, la comparamos con la distancia entre dos lugares de la Tierra. La fórmula se da a continuación.
S = rθ
S = Distancia entre dos direcciones
r = Radio de la Tierra
θ = Ángulo introducido en el centro de la Tierra por las dos direcciones
Pero si tiene Coordenadas GPS de dos lugares, es necesario determinar a partir del Fórmula Haversine Mira el Fórmula Haversine que se muestra a continuación.
Si se compara con el fórmula de la longitud de arco obtendrá como en la siguiente imagen.
Conozcamos los parámetros de la función Fórmula Haversine .
φ 1 = Latitud del primer lugar
φ 2 = Latitud del segundo lugar
ℽ 1 = Longitud del primer lugar
ℽ 2 = Latitud del segundo lugar
Ahora te mostraré cómo aplicar esta fórmula en Excel paso a paso.
Pasos:
- En primer lugar, cree una celda para almacenar el valor de la distancia y escriba la siguiente fórmula en la celda C8 .
=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
La fórmula utiliza ASIN , SQRT , SIN y COS funciones Es bastante simple si nos fijamos en el Fórmula Haversine Medimos la distancia en kilómetros así que ponemos el radio de la tierra en kilómetros que es 6400 km . ASIN se refiere al seno inverso o el ArcSine Si comparamos los ángulos de los parámetros del Fórmula Haversine con nuestra fórmula de Excel, obtenemos,
1 = Latitud de Ohio (C5)
2 = Latitud de Alaska (C6)
ℽ 1 = Longitud de Ohio (D5)
ℽ 2 = Latitud de Alaska (D6)
- A continuación, pulse la tecla INTRODUCE para ver la distancia entre Ohio y Alaska en Kilómetros .
- A partir de entonces, si desea medir la distancia en millas utilice la siguiente fórmula en la celda C8 .
=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
En este caso, utilizamos la misma fórmula de Excel que empleamos para hallar la distancia en millas Por eso, tomamos el radio de la tierra en millas que es 3959 .
Así se puede calcular el distancia entre dos direcciones de tierra en Excel aplicando la función Fórmula Haversine .
Más información: Cómo calcular la distancia entre dos coordenadas en Excel (2 métodos)
2. Aplicación de las funciones CONCATENAR y SUSTITUIR de Excel para calcular la distancia entre dos direcciones
Puede crear un Mapa de Google para encontrar el distancia entre dos direcciones utilizando Excel CONCATENAR y SUSTITUIR Funciones Repasemos el proceso a continuación.
Pasos:
- En primer lugar, escriba la siguiente fórmula en C8 .
=CONCATENADO("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",
SUBSTITUTE(B5," ", "+"),"&daddr=",SUBSTITUTE(B6," ", "+"))
Esta fórmula creará un Mapa de Google enlace de cómo puede viajar desde Ohio a Alaska . CONCATENAR añadirá la función direcciones en el enlace y el SUSTITUIR colocará el nombre del direcciones .
- A continuación, pulse la tecla INTRODUCE y verá el botón Mapa de Google enlace en C8 .
- A continuación, utilice enlace en su barra de búsqueda de Internet y obtendrá el distancia información sobre estos dos direcciones .
Por último, puede calcular el distancia entre dos direcciones de la tierra en Excel aplicando CONCATENAR y SUSTITUIR funciones.
Más información: Cómo calcular la distancia entre dos ciudades en Excel
3. Uso de VBA para calcular la distancia entre dos direcciones en Excel
Otra forma de calcular distancia entre dos direcciones podría ser haciendo un API ( Interfaz de programación de aplicaciones ) y utilizarlo para crear un enlace Función definida por el usuario por VBA Puede hacer un API enlace en Bing gratis. Para crear un Mapa Bing Clave API propia, pulse aquí .
Pasos:
- En primer lugar, vaya a Desarrollador >> Visual Basic .
- A continuación, seleccione Inserte >> Módulo para abrir el Módulo VBA .
- A continuación, escriba el siguiente código en el campo Módulo VBA Estamos creando un Función definida por el usuario para calcular distancia en millas .
Option Explicit Public Function DistanciaEnMillas(Primera_Ubicación Como String, _ Última_Ubicación Como String, Valor_Objetivo Como String) Dim Punto_Inicial Como String, Punto_Final Como String, _ Unidad_Distancia Como String, Setup_HTTP Como Object, Output_Url Como String Punto_Inicial = "//dev.virtualearth.net/REST/v1/Rutas/Matriz_Distancia?origins=" Punto_Final = "&destinations=" Unidad_Distancia ="&travelMode=driving&o=xml&key=" & Target_Value & "&distanceUnit=mi" Set Setup_HTTP = CreateObject("MSXML2.ServerXMLHTTP") Output_Url = Punto_inicial & Primera_localización & Punto_final & Localización_final & Distance_Unit Setup_HTTP.Open "GET", Output_Url, False Setup_HTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"Setup_HTTP.Send ("") DistanceInMiles = Round(Round(WorksheetFunction.FilterXML(Setup_HTTP.ResponseText, _ "//TravelDistance")), 3), 0) End Function
Código Explicación
- En primer lugar, bautizamos nuestro Función como DistanciaEnMillas También insertamos 3 parámetros: Primera_ubicación como cadena, Última_ubicación como cadena y Target_Value As String .
- Después, declaramos Punto_inicial , Punto_final , Distancia_Unidad y Salida_Url como Cadena ; Setup_HTTP como Objeto .
- Más tarde, fijamos Punto_inicial como el inicio de la Enlace url , Punto_final como Destino y Distancia_Unidad a Miles .
- A continuación, establecemos los parámetros necesarios para crear una relación entre nuestro VBA y el código API
- Por último, establecimos nuestro Función definida por el usuario .
- Después, siguiendo los mismos procedimientos, hicimos otro Función definida por el usuario para hallar la distancia en kilómetros .
Usted puede ver que, acabamos de cambiar el Distancia_Unidad a kilómetros .
- A continuación, en la siguiente imagen, se puede ver el API tecla en la celda C8 .
- A continuación, escriba la siguiente fórmula en la celda C8 .
=DistanciaEnMillas(E5,E6,C8)
- A continuación, pulse la tecla INTRODUCE y verá el icono distancia entre Ohio y Alaska en millas .
- A continuación, utilice la siguiente fórmula para ver el distancia en kilómetro .
=DistanciaEnKM(E5,E6,C8)
Así, se puede calcular el distancia entre dos direcciones mediante VBA y API llave.
Más información: Cómo calcular la distancia en coche entre dos direcciones en Excel
Cosas para recordar
- Tenga esto en cuenta, es necesario poner aproximadamente correcta Coordenadas GPS de estos estados en los datos porque está utilizando Internet para encontrar la distancia. Como el estados son oeste a la Línea Meridian , ambos de sus Longitudes será negativo.
Sección práctica
En esta sección, te facilitaré el conjunto de datos de este artículo para que puedas practicar estos métodos por tu cuenta.
Conclusión
Basta con decir que aprenderá métodos muy eficaces para calcular distancia entre dos direcciones en Excel después de leer este artículo. Si tiene algún método mejor o preguntas o comentarios sobre este artículo, por favor compártalos en el cuadro de comentarios. Esto me ayudará a enriquecer mis próximos artículos. Para más consultas, por favor visite nuestro sitio web ExcelWIKI.com .