Traducir Interfaz del modelo Excel con BuscarV

¿Alguna vez has tenido que preparar un modelo en Excel para usuarios que hablen diferentes idiomas?

En este envío te explicaré cómo hacerlo mediante BuscarV, para que sea tan sencillo como elegirlo de un desplegable.

cambiar interfaz del modelo en excel 

http://www.youtube.com/watch?v=22e63j7ecfU

preparativos

Para comenzar necesitaremos crear una tabla con los textos en los diferentes idiomas.

Mi consejo es crear una Tabla (Insertar>Tabla)

Yo he puesto una primera columna con un identificador único para cada texto (que en este caso es un número, pero puede ser cualquier cosa), y a continuación una columna para cada idioma diferente que queramos tener en el modelo.

tabla con las traducciones del modelo en Excel

Para facilitar más las cosas, voy a crear un nombre de rango con los idiomas disponibles, que tomo de los encabezados de la tabla de traducciones

crear nombre de rango en Excel

Este nombre de rango es el que vamos a usar como lista de origen en la validación de la celda donde queremos que el usuario elija el idioma de la interfaz del modelo.

Al elegir el origen de la lista, pulsando la tecla [F3] se muestra el formulario Pegar Nombre para elegir entre los nombres definidos en el libro 

validación de datos mediante una lista en Excel

Mediante esta validación de datos (Datos>Herramientas de datos>validación de datos) de tipo lista conseguimos mostrar el desplegable en la celda de selección del idioma

cambiar interfaz del modelo en excel

Para simplificar la lectura de las fórmulas, a esta celda donde elegimos el idioma también le vamos a asignar un nombre, en este caso el nombre será "IdiomaElegido"

Ahora la traducción con BUSCARV

Ya tenemos todo preparado para traducir el modelo.

La idea es emplear fórmulas que busquen el texto en la tabla de traducciones en vez de escribir directamente los textos en las celdas como haríamos normalmente.

Por ejemplo, para buscar la cadena nº 1:

queremos buscar la cadena con ID 1 en la tabla de traducciones, y que nos devuelva el valor de esa tabla correspondiente a la columna del idioma elegido. Aquí es donde entra en acción BUSCARV

buscarV para traducir textos. el nombre de la tabla aparece como ayuda

El nombre que hayamos puesto a la tabla de traducciones aparece como ayuda cuando comenzamos a teclearlo.

Para saber qué columna corresponde al idioma elegido emplearemos la función COINCIDIR. le pediremos que nos diga en qué posición del encabezado se encuentra el idioma elegido:

posición del idioma elegido mediante la función COINCIDIR

aquí le pedimos que busque el idiomaelegido (menos mal que definimos el nombre antes...) en los encabezados de la TablaTraducciones (otra buena idea fue ponerle este nombre a la tabla de traducciones ¿verdad?), y el último argumento, 0 indica que queremos una coincidencia exacta.

En nuestro caso, encontrará Español en la posición 2 y encontrará English en la posición 3.

Esto es lo que necesitamos para indicar la columna de resultados dentro de nuestra función BuscarV. Ahora la función quedará finalmente así:

=BUSCARV(1;TablaTraducciones;COINCIDIR(IdiomaElegido;TablaTraducciones[#Encabezados];0);FALSO)

donde el último argumento Falso sirve para indocar que queremos la coincidencia exacta.

 

Ya sólo queda ir repitiendo esta misma fórmula, cambiando el id para cada caso, en cada una de las celdas donde tengamos un texto que hay aque traducir.

 

Dejo el archivo de ejemplo para que se pueda descargar.
Como siempre, cualquier comentario será bien recibido. 

AdjuntoTamaño
File excel-interfaz-idiomas.xlsx10.83 KB

Temática: 

Comentarios

Re: Traducir Interfaz del modelo Excel con BuscarV

Imagen de xoan ninguen

Jeje... esto me ha dado una idea para implementar la internacionalización si algún completase mi programa en VBA...

mediante Arrays, y asociar una Id a cada elemento del menú. Voy a probarlo a ver.

 

Eres grande Paco.

-----------------------------------------------------------------

www.TrazEX.com (soluciones sobre Excel)