Traducir fórmulas de Excel de inglés a español y viceversa

Todos los usuarios de Excel deben saber que la hoja de cálculo fue diseñada desde sus inicios en inglés y por esta razón, el “motor” de Excel piensa y habla en inglés.

Hoy en día tenemos versiones de Excel en diferentes idiomas, pero nunca se ha reemplazado el “motor” en inglés, sino que se agrega un paquete de idioma que sirve como traductor para las fórmulas y las funciones.

Nosotros escribimos la función BUSCARV pero el paquete de idioma le pedirá al “motor” de Excel que trabaje con la función VLOOKUP. El paquete de idioma, nos obligará a utilizar el nombre BUSCARV y por esa razón, al intentar utilizar una fórmula que tenga el nombre de la función en inglés, obtendremos el error #¿NOMBRE?.

Hoy en día, a través de Internet, tenemos acceso a un gran número de publicaciones y en ocasiones nos encontramos con fórmulas que han sido escritas en inglés. Para poder utilizar dichas fórmulas, es necesario encontrar el nombre equivalente en español de las funciones utilizadas, y por esa razón decidí crear el traductor de fórmulas de Excel que nos facilitará esta tarea.


Descargar archivo de trabajo

Para aprender a utilizar el traductor de fórmulas que he desarrollado, puedes ver el vídeo que está en la parte superior y descargar el archivo utilizando el enlace debajo del vídeo.

Cómo utilizar el traductor de fórmulas de Excel

Este traductor funcionará correctamente en una versión de Excel que sea diferente al inglés. Si quieres una traducción al español, deberás tener instalado Excel en español. Si tienes Excel en cualquier otro idioma, la traducción se realizará a dicho idioma.

El traductor funciona de la siguiente manera. En la primera columna se colocará la fórmula original, es decir, la fórmula tal como la encuentres en una publicación. Puedes colocar una fórmula en inglés o en español ya que la macro hará la traducción a ambos idiomas.

Si ingresas la fórmula en inglés, Excel mostrará el error #¿NOMBRE? porque no podrá interpretarla, pero no debes preocuparte porque el traductor hará la conversión adecuadamente. Por el contrario, si ingresas la fórmula en español, obtendrás algún resultado en la hoja de cálculo, pero no deberás prestarle mucha atención porque estamos interesados solamente en la traducción de la fórmula.

En la siguiente imagen se observa el resultado de haber ingresado la fórmula =SUM(1, 2, 3) en la primera fila y la fórmula =SUMA(1, 2, 3) en la segunda fila. La primera fila muestra un error porque contiene la fórmula en inglés y la segunda nos da el resultado 6 porque la fórmula está en español y Excel la ha interpretado correctamente.

Cómo traducir fórmulas de Excel de inglés a español y viceversa

Al pulsar el botón TRADUCIR obtendremos el equivalente de cada fórmula en las columnas de la derecha:

Traducir fórmulas de Excel

Para ambas filas obtenemos la versión en español y en inglés en la columna correspondiente. Debes saber que en ambas columnas se ha colocado un apóstrofo al inicio de la fórmula para que Excel trate dicho valor como una cadena de texto y no trate de interpretarlo como una fórmula.

De esta manera tan sencilla funciona el traductor de funciones. Colocamos la fórmula original en la primera columna y pulsamos el botón TRADUCIR para obtener su traducción. Considera que, debido a la configuración regional de mi equipo, la columna Español de la imagen anterior muestra las fórmulas utilizando la coma (,) pero si tienes una configuración donde se utiliza el punto y coma (;) el traductor respetará dicha configuración.

Si te interesa aprender la manera tan sencilla en la que he creado este traductor de fórmulas, te invito a que continúes leyendo este artículo para leer con detenimiento la explicación de la macro.

Macro para traducir una fórmula

Sin tienes una versión de Excel diferente al inglés, ya sea español, portugués, francés, alemán, etc., Excel utilizará dos propiedades para almacenar la fórmula de una celda. En una propiedad estará la fórmula en inglés y en la otra estará la fórmula en el idioma local de Excel.

Podemos aprovechar este comportamiento para crear nuestro propio traductor de fórmulas que nos ayude a obtener fácilmente el equivalente de cualquier fórmula de Excel. Al ingresar una fórmula válida en cualquier celda, la versión en inglés de la fórmula estará almacenada en la propiedad Formula y la versión en español en la propiedad FormulaLocal.

A continuación, se muestra el código completo de la macro y en seguida haré una explicación detallada de dicho código.

Private Sub CommandButton1_Click()

    ultimaFila = Cells(Rows.Count, 16382).End(xlUp).Row
    
    For i = 5 To ultimaFila
        
        On Error Resume Next
        Cells(i, 16381).formula = Cells(i, 16382).formula
        
        If Err.Number = 0 Then
            Cells(i, 16383).Value = "'" & Cells(i, 16381).FormulaLocal
            Cells(i, 16384).Value = "'" & Cells(i, 16381).formula
        Else
            Cells(i, 16383).Value = "#ERROR"
            Cells(i, 16384).Value = "#ERROR"
            MsgBox "Error en la fórmula de la fila " & i & vbNewLine _
            & "Error Number: " & Err.Number
        End If
        
    Next i
    
End Sub

Dentro del código verás algunos números como 16382 que se refieren a las últimas columnas de la hoja (la columna XFB es la columna 16382). Decidí utilizar las últimas columnas de la hoja porque no es tan común que las fórmulas tengan referencias a dichas celdas, pero no habría problema con implementar el traductor en cualquier otro rango.

La primera línea de código utiliza el método End(xlUp) para obtener la última fila con datos de la columna XFB. Si quieres saber un poco más sobre este método, puedes consultar el artículo Encontrar la última fila con VBA.

Una vez que conocemos la última fila ocupada, entramos en un bucle For-Next donde se inicializa la variable i con el número 5 porque esa es la primera fila debajo de los encabezados de columna. El bucle avanzará tantas filas como sea necesario hasta llegar a la última fila con datos.

Dentro del bucle For-Next tenemos varias instrucciones. La primera instrucción le indica a Excel que en caso de existir un error debe continuar con la ejecución de la macro. Esto se debe a que la instrucción que estamos por ejecutar es la asignación de la fórmula de la columna XFB (16382) a la propiedad Formula de la columna XFA (16381) la cual está oculta.

Esta asignación es importante porque se hace directamente a la propiedad Formula que está diseñada para contener las fórmulas en inglés. Si la fórmula original está en inglés, se hará la asignación directamente, pero si la fórmula original está en español, Excel hará la traducción por nosotros y la colocará en inglés.

En seguida hacemos una validación de la propiedad Err.Number para saber si hubo un error en la instrucción anterior. En caso de que no haya error, entonces podremos consultar la fórmula de la columna XFA (16381) y obtenerla en el idioma requerido.

Podemos acceder a la versión en español con la propiedad FormulaLocal y la asignamos a la columna XFC (16383). Observa que se concatena un apóstrofo (‘) antes de la fórmula para que Excel la muestre como una cadena de texto.

La siguiente instrucción obtiene la fórmula en inglés de la columna XFA (16381) y asigna la cadena de texto a la columna XFD (16384). Este procedimiento se repite para cada fila mientras tanto y no exista un error en la asignación de la fórmula.

En caso de que exista un error, se ejecutarán las instrucciones del bloque Else que insertarán la cadena de texto “#ERROR” en las columnas de la derecha y además mostrarán una notificación en pantalla para indicar la fila que contiene la fórmula con error y su código.

Limitaciones del traductor de fórmulas

Debes considerar que con este método de traducción se obtendrá el nombre equivalente de las funciones y el separador de argumentos correcto. Sin embargo, existen ciertos argumentos como el formato de fechas, que no son traducidos por la macro. Considera la siguiente fórmula en español:

=TEXTO(40254, "dd/mm/aaaa")

Al utilizar nuestra macro para traducir la fórmula, obtenemos el siguiente resultado:

=TEXT(40254, "dd/mm/aaaa")

El nombre de la función se ha traducido correctamente al inglés, pero el segundo argumento de la función se ha quedado igual. Este argumento no funcionará correctamente en una versión de Excel en inglés porque lo correcto debería ser “mm/dd/yyyy”.

Este tipo de cambios en los argumentos deberá ser hecho manualmente por ti, y aunque son pocas las fórmulas que requieren este tipo de modificaciones, deberás estar consciente de que el traductor no cambiará en lo absoluto los argumentos de las funciones.

35 comentarios en “Traducir fórmulas de Excel de inglés a español y viceversa

  1. Sergio Propergol

    Muy buena macro, Moisés. Hasta ahora siempre he hecho las traducciones a mano, pero a partir de ahora, utilizaré tu código. Saludos.

  2. willy

    Gracias por el apoyo que nos brindas para poder innovar los conocimiento para poder implantar en el trabajo.

  3. miguel

    Moises, es grato encontrar gente como tu, compartir el conocimiento altruistamente habla de la grandeza interior, eres un gigante, gracias por tus contribuciones, vida larga y prospera

  4. María J. Vidal Ledo

    Muy interesante, quiero felicitarles por compartir con nosotros el resultado de tantas horas de entrega al conocimiento.

  5. Miguel Marcos

    Excelente, esto nos enseña cada día mas a conocer el excel, gracias por todo.

  6. Lisandro Siqueira

    Gracias Moisés, una excelente solución. Yo utilizo mucho el español, ingles y portugués, en ambas direcciones. Te enviaré na lista que encontré en varios idiomas, le puede ser útil.

  7. Gracias por la informacion muy interesante

    Gracias por la informacion es de gran ayuda

  8. Juan Antonio

    Que buena idea, esto me sera muy útil. Aunque siempre sera bueno aprenderse las formulas en los 3 idiomas, en ocasiones es difícil recordar las menos frecuentes. Como por ejemplo, conozco la relación entre Extrae y Mid, pero siempre olvido la que corresponde a la función Derecha, y es solo un ejemplo simple. Muchas gracias!

  9. darvin

    eres un maestro en toda la extensión de la palabra, gracias brother por esas ilustraciones.

  10. Rosa Maria

    Muchas gracias, muy valioso archivo, me facilitará el uso de Excel

  11. David

    Gracias Amigo, felicidades por tu valiosa labor

  12. Julio Bravo

    Excelente trabajo, Moisés. Gracias por compartir tu conocimiento y tus creaciones

  13. oliver

    Para mi es muy interesante debido a la poca experticia en el idioma ingles (siempre tuve problemas en la traducción de las formulas). Gracias por ello.

  14. Jorge Rivero

    Muy buen aporte para los conocimientos básicos de excel.

  15. Jorge Arjona

    Hola Moises. Gracias por compartir tus conocimientos en este campo, he aprendido mucho saludos de Cancún Q, Roo Empowermen Company

  16. Armando Pérez Avila

    Te lo voy a decir en una sola palabra, pero de corazón GRACIAS

  17. Eduardo R

    Muchas gracias, por compartir tu conocimiento, eres una gran persona. Saludos.

  18. ALBERTA RODRÍGUEZ M.

    MUCHAS GRACIAS POR TU VALIOSA INFORMACION, ES DE GRAN AYUDA

  19. Sergio Rubio

    Que buen tip, muchas gracias

  20. Juan Carlos Urriago Fontal

    Muy buen aporte. son temas cotidianos que muchas veces causan problemas. Gracias por tus valiosos aportes

  21. Severo Adame

    Muy interesante espero ponerlo por obra para facilitar mi labor diaria. Muchas gracias

  22. Carlos Collado

    Muy bien Moises, cada dia aprendemos mas sobre excel. Saludes.

  23. Hilda Contreras

    Gracias Sr.Moisés por su valioso aporte y dedicarnos su tiempo.

  24. Bladimir

    Grande Moises! eres excelente amigo. que buen aporte para todos los que te seguimos. Un afectuoso saludo.

  25. JESÚS MELENDEZ

    EXCELENTE MOISÉS, SIEMPRE ASERTIVO EN TUS ENTREGAS. GRACIAS

  26. Javier

    Moises: Eres un crack. Gracias por toda la documentación que envías. Viene estupendo para la docencia. Un abrazo.

  27. Eleazar

    Muy bueno Moises, gracias por tomarte ese tiempo y compartir con los que estamos ávidos de Excel.

  28. Gonzalo Acurio

    Muchas gracias por tus artículos, son muy didácticos y de mucha ayuda

  29. Yeison

    Excelente material, muy detallado y completo. Gracias por tomar el tiempo para elaborar este instructivo.

  30. Saydel Levy Gonzalez

    MUY BIEN TU HERRAMIENTA… SALUDOS Y ÉXITO EN LO QUE EMPRENDAS

  31. Angelous

    No se nada de excel, pero quiero aprender de cero, básico, intermedio y avanzado, se ve fascinante.

  32. Toribio

    Moisés: Excelente herramienta, muchas gracias por compartirla.

  33. miguel reides

    GRACIAS POR COMPARTIR LOS CONOCIMIENTOS

  34. Luis Fonseca

    Gracias Amigo Moisés, muy buena idea y ejemplo de aplicación
    gracias nuevamente

  35. luis enrique dionisio alvarez

    muchas gracias por compartir tus conocimientos eres grande. saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Solo se aceptarán comentarios relacionados con el artículo publicado.