Poesía Binaria

Intercambiar datos entre hojas de cálculo Calc o Excel usando una columna de referencia

Imaginemos que tenemos en una hoja de cálculo (una Excel de toda la vida, aunque no me gusta llamarla por un nombre comercial, es como llamar a los yogures Danone o Gillette a las cuchillas de afeitar, en fin), una serie de datos (es muy importante el hecho de tener un identificador o referencia en cada fila). En esta misma hoja, queremos insertar datos que se encuentran en otro archivo de hoja de cálculo haciendo que los nuevos datos se correspondan con el autor de la primera hoja. Queremos cruzar o unificar los datos de las dos tablas en una sola.

Los escenarios que se nos presentan son muy variados, desde un simple listado como el que muestro en el ejemplo como una tienda donde tenemos que introducir información adicional de cientos de productos o un proyecto bibliográfico, etc.

En el ejemplo, se nos hace imposible copiar y pegar, ya que en la otra hoja, por un lado, aparecen los elementos desordenados, y por otra parte, hay elementos que no están en las dos tablas (puede que en una haya elementos que no estén en la segunda y viceversa). Los datos que vamos a utilizar para la segunda hoja son los siguientes:

Por un lado, es cierto que podemos ordenar los datos, pero lo malo es que hay elementos no coincidentes (incluso el número de elementos puede ser distinto).

En este ejemplo he creado una nueva hoja para el primer archivo y he copiado en esa hoja los datos de las fechas. Ahora, creamos la columna Años dentro de la primera hoja y en la segunda fila introducimos la siguiente fórmula:

=BUSCARV(A2;Hoja2.$A$2:$B$100;2;0)

Y extendemos la fórmula a todas las líneas (podemos hacer esto de forma rápida pulsando en la esquina inferior derecha del cuadro que aparece seleccionando dicha celda (cuando hay cientos o miles de filas esto es muy útil).

En la fórmula anterior, BUSCARV, buscará una fila con un criterio especificado y nos devolverá el valor de una celda:

Como primera aproximación está bien, aunque cuando un ID no se encuentra en la Hoja2, en la columna Años dentro de la primera hoja vemos un horrible #N/D. Para solucionar esto podemos hacer lo siguiente:

=SI.ND(BUSCARV(A2;Hoja2.$A$2:$B$100;2;0);»No hay datos»)

En este caso, si no se encuentra el valor en la Hoja2 veremos un mensaje que dice: «No hay datos«.

Ahora, compliquemos un poco más esto e incorporemos el dato de la fecha al nombre del autor:

=SI.ND(CONCATENAR(B2;» («;BUSCARV(A2;Hoja2.$A$2:$B$100;2;0);»)»);B2)

Esto, colocará en una celda el nombre del autor (columna B) junto con la fecha entre paréntesis siempre que esté presente, si no lo está, mostrará el nombre del autor simplemente.

Dejo por aquí el archivo de ejemplo (formato ods, 49Kb) por si os resulta de ayuda.

 

También podría interesarte....