Tabla de contenido
Microsoft Excel es un programa de hoja de cálculo muy versátil. Ofrece la posibilidad de realizar un abanico de tareas tan amplio que ni te lo imaginas. Incluso puedes calcular la distancia en coche entre dos direcciones en Excel. Si tienes una lista de direcciones para encontrar la diferencia entre ellas, puedes utilizar MS Excel, por supuesto. También puedes calcular la distancia manualmente. Pero eso te llevará demasiado tiempo. Como tienescientos de miles de distancias para calcular. Así, en este artículo, te mostraré cómo calcular la distancia en coche entre dos direcciones en Excel.
Descargar el cuaderno de prácticas
Puede descargar el archivo Excel del siguiente enlace y practicar con él.
Calcular la distancia en coche entre dos direcciones.xlsm2 formas eficaces de calcular en Excel la distancia en coche entre dos direcciones
1. Uso de funciones trigonométricas para calcular la distancia recorrida
Aquí te enseñaré a combinar diferentes funciones trigonométricas para calcular la distancia en coche entre dos direcciones en Excel.
Por poner un ejemplo, he tomado dos direcciones. La primera dirección es MacArthur Park, Camden NSW, Australia Su latitud y longitud son 34.06312149 y -118.2783975 La segunda dirección es Jersey City, Nueva Jersey, EE.UU. Su latitud y longitud son 40.71799929 y -74.04276812 respectivamente.
Ahora, combinaré el ACOS , COS , SIN , & RADIANS La fórmula calculará efectivamente la distancia en millas entre dos direcciones.
Para eso,
❶ Seleccionar celda D8 primero.
❷ A continuación, inserta la siguiente fórmula en la celda.
=ACOS(COS(RADIANES(90-C6)) *COS(RADIANES(90-C5)) +SIN(RADIANES(90-C6)) *SIN(RADIANES(90-C5)) * COS(RADIANES(D6-D5))) *3959
❸ A continuación, pulse la tecla INTRODUCE botón.
Ahora, verá que la fórmula ha calculado la distancia de conducción entre el MacArthur Park, Camden NSW, Australia, y Jersey City, Nueva Jersey, EE.UU. en millas. Así, verá el resultado en la celda D8 que es 2445.270922 kilómetros.
Desglose de fórmulas
- COS(RADIANES(90-C6)) *COS(RADIANES(90-C5)) - la RADIANS convierten los valores en radianes y las funciones COS proporciona el coseno de los valores, se multiplican entonces los cosenos de la latitud. Salida - 0.365377540842758
- COS(RADIANES(D6-D5)) - proporciona el valor del coseno de la diferencia de longitud entre las dos direcciones. Salida - 0.716476936499882
- SEN(RADIANES(90-C6)) *SEN(RADIANES(90-C5)) - calcula el desvío de longitudes a partir de 90 radianes y multiplica los valores del seno. Salida - 0.627884682513118
- SEN(RADIANES(90-C6)) *SIN(RADIANES(90-C5)) *COS(RADIANES(D6-D5)) - se convierte en 0,627884682513118 * 0,716476936499882. Salida - 0.449864893802199
- COS(RADIANES(90-C6)) *COS(RADIANES(90-C5)) +SIN(RADIANES(90-C6)) *SIN(RADIANES(90-C5)) *COS(RADIANES(D6-D5)) - se convierte en 0,365377540842758 * 0,449864893802199. Salida - 0.815242434644958
- Entonces el ACOS arccosines el valor. Salida - 0.617648629071256
- Por último, multiplicando el valor por 3959 - 0.617648629071256 *3959 proporciona el resultado en millas. Salida - 2445.270922
Más información: Cómo Calcular Millas entre Dos Direcciones en Excel (2 Métodos)
2. Calcular la distancia en coche entre dos direcciones mediante código VBA
En esta sección, utilizaré un VBA para crear una función definida por el usuario. A continuación, utilizaré esa función para calcular la distancia en coche entre dos direcciones en Excel.
Aquí, estoy usando dos direcciones. La primera dirección es MacArthur Park, Camden NSW, Australia Su latitud y longitud son 34.06312149 y -118.2783975 La segunda dirección es Jersey City, Nueva Jersey, EE.UU. Su latitud y longitud son 40.71799929 y -74.04276812 respectivamente.
En el voy a generar coordenadas para cada una de las direcciones. Una coordenada es una combinación de latitud y longitud. Para generar una coordenada,
- Escriba primero la latitud de una dirección.
- A continuación, inserte una coma.
- A continuación, introduzca la longitud de la misma dirección.
Así pues, la coordenada de la primera dirección es 34.0631214903094,-118.27839753751 Y la coordenada de la segunda dirección es 40.7179992930381,-74.0427681204225 .
En VBA requiere un API de un mapa para calcular la distancia en coche. El API es la abreviatura de Application Programming Interface (interfaz de programación de aplicaciones). API para conectar el Mapa de Google o el Mapa Bing lo que usted prefiera.
Pero crear el API de mapas de Google es de pago. Por el contrario, se puede crear un API de la Bing MAPA de forma gratuita.
Por lo tanto, estoy utilizando el API MAPA de Bing aquí.
- Para crear un API MAPA de Bing , pulse aquí .
He creado un API Adjunto el API abajo:
AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ-VrzOWptdUwsvj9D3L9F
Ahora, es el momento de escribir el VBA código. Para eso,
- Pulse ALT + F11 para abrir el Editor VBA .
- Ahora ve a Inserte ➤ Módulo para abrir un nuevo módulo.
Tras abrir el Editor VBA insértese lo siguiente VBA en el módulo abierto.
Option Explicit Public Function Driving_Distance(startlocation As String, destination As String, keyvalue As String) Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String First_Value = "//dev.virtualearth.net/REST/v1/Routes/DistanceMatrix?origins=" Second_Value = "&destinations=" Last_Value = "&travelMode=driving&o=xml&key="& keyvalue & "&distanceUnit=mi" Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP") mitUrl = Primer_Valor & startlocation & Segundo_Valor & destination & Ultimo_Valor mitHTTP.Open "GET", mitUrl, False mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" mitHTTP.Send ("") Driving_Distance =Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 0) End Function
Desglose de códigos
- Aquí, he creado una función definida por el usuario llamada Distancia en coche.
- Entonces utilicé 3 parámetros: startlocation , destino y valor-clave. Estas son la posición de las dos direcciones y el API respectivamente.
- Luego utilicé varias variables como Primer_valor , Segundo_valor , Último_valor , mitHTTP , & mitUrl. Estas variables se utilizan para almacenar diferentes valores.
- A continuación, se combinan los valores (almacenados en mitUrl ) y utilizó varios métodos de objetos ( Abrir , SetRequestHeader , Enviar ). Así es como conseguí calcular la distancia de conducción a través del API .
Este VBA genera una función definida por el usuario llamada Distancia en coche .
La función Distancia en coche requiere 3 argumentos en total.
Esta es la sintaxis genérica de Distancia en coche función.
=Distancia_Conducir(Coordenada_Localización_Inicial,Coordenada_Localización_Final, API)
Ahora, es el momento de aplicar la función definida por el usuario. Para ello,
- Seleccionar celda E10 .
- A continuación, introduce la siguiente fórmula:
=Distancia_conducción(E5,E6,C8)
- Ahora, pulse INTRODUCE .
Desglose de fórmulas
- E5 es el Coordenada_de_ubicación_inicial .
- E6 es el Coordenada_Ubicación_Final .
- C8 es el API de la Bing MAPA .
La función calcula la distancia en millas entre dos direcciones. Consulta la celda E10 Verá el número, 2790 .
Así que la distancia en coche entre MacArthur Park, Camden NSW, Australia, y Jersey City, Nueva Jersey, EE.UU. es 2790 kilómetros.
Más información: Cómo calcular la distancia entre dos direcciones en Excel (3 maneras)
Sección práctica
Obtendrá una hoja de Excel como la siguiente captura de pantalla, al final del archivo Excel proporcionado donde podrá practicar todos los métodos discutidos en este artículo.
Conclusión
En resumen, he discutido 2 maneras de calcular la distancia en coche entre dos direcciones en Excel. Y no dude en hacer cualquier pregunta en la sección de comentarios a continuación. Vamos a tratar de responder a todas las preguntas pertinentes lo antes posible. Y por favor visite nuestro sitio web Exceldemy para explorar más.