28 julio, 2021

ORDENAR Y MOSTRAR DATOS EN UNA MATRIZ A PARTIR DE REGISTROS DUPLICADOS

Hola a todos 馃檪

Hoy os voy a mostrar la posibilidad de ordenar y mostrar una serie de datos mediante la utilizaci贸n de una f贸rmula combinada. A priori puede resultar un tanto compleja, pero sin duda es una buena alternativa a tener que utilizar VBA si no control谩is de programaci贸n o no quer茅is utilizar macros.

Para ense帽ar qu茅 es lo que quiero hacer lo mejor es mostraros mediante una imagen de que datos disponemos inicialmente y c贸mo queremos presentarlos. Imaginad que tenemos un listado de empleados de nuestra empresa y en la columna siguiente el idioma que acreditan saber, l贸gicamente un empleado puede saber varios idiomas y por ello tendremos tambi茅n registros 煤nicos por cada idioma y empleado, fijaos en la imagen:

ORDENAR Y MOSTRAR DATOS_1

Con esta informaci贸n, que es la t铆pica que cualquier base de datos almacenar铆a, debemos construir una matriz que haga m谩s visual la presentaci贸n de la informaci贸n, de modo que muestre los datos como un eje de coordenadas entre los empleados y los idiomas, en la imagen de como quedar铆a la informaci贸n lo ver茅is m谩s claro:

ORDENAR Y MOSTRAR DATOS_2

En el ejemplo he puesto que se marque con una "X" el idioma correspondiente, pero se podr铆a poner cualquier indicador. Como pod茅is ver ahora s铆 tenemos una informaci贸n mucho m谩s clara y ordenada que nos permitir谩 trabajarla con tablas din谩micas y otras herramientas. Pero vayamos a la f贸rmula que nos permite hacerlo. Aqu铆 os la dejo聽para ir analiz谩ndola por partes:

=SI.ERROR(((SI(+INDICE(IDIOMAS!$B$2:$B$20011;COINCIDIR(1;INDICE((IDIOMAS!$A$2:$A$20011=TABLA_IDIOMAS!A2)*(IDIOMAS!$B$2:$B$20011=TABLA_IDIOMAS!$B$1););0))="INGLES";"X")));" ")

Es una f贸rmula combinada que utiliza las funciones "Indice", "Coincidir", "Si" y "Si.error" (esta 煤ltima solo funciona en versiones de Excel 2007 o superiores).

Si tenemos en cuenta que la informaci贸n donde tenemos a todos los empleados con registros duplicados (la primera imagen que he subido), est谩 en la pesta帽a que vamos a llamar "IDIOMAS" y la tabla matriz resultando en otra hoja que vamos a llamar "TABLA_IDIOMAS", podremos entender la l贸gica de la f贸rmula.

Primero introducimos la f贸rmula para que busque, ordene y muestre la posici贸n donde se encuentra el idioma:

=COINCIDIR(1;INDICE((IDIOMAS!$A$2:$A$20011=TABLA_IDIOMAS!A11)*(IDIOMAS!$B$2:$B$20011=TABLA_IDIOMAS!$H$1););0)

La funci贸n "Coincidir" buscar谩 la posici贸n del valor que le estamos especificando en la matriz, de decir, si el empleado "VICTOR" sabe Ruso, en la celda aparecer谩 la posici贸n respecto a la matriz la que se encuentra el idioma en la pesta帽a "IDIOMAS", en este caso es en la posici贸n 23 (recuerda que empieza a contar desde la celda B2):

ORDENAR Y MOSTRAR DATOS_4

Si hacemos doble clic en la f贸rmula veremos a que celdas hace referencia:

ORDENAR Y MOSTRAR DATOS_3

Pero ahora queremos afinar un poco m谩s la b煤squeda 聽y que en vez de la posici贸n nos muestre el idioma, para ello debemos completar la f贸rmula:

=+INDICE(IDIOMAS!$B$2:$B$20011;COINCIDIR(1;INDICE((IDIOMAS!$A$2:$A$20011=TABLA_IDIOMAS!A11)*(IDIOMAS!$B$2:$B$20011=TABLA_IDIOMAS!$H$1););0))

Ahora la funci贸n "INDICE" que hemos incluido, en base a la matriz de datos que hemos seleccionado "IDIOMAS" ordena y muestra los datos que le hemos datos previamente con la funci贸n coincidir, de manera que muestra que la celda 23 se corresponde con idioma "RUSO":

ORDENAR Y MOSTRAR DATOS_5

Con esta informaci贸n ser铆a suficiente, pero como queremos que cuando identifique el idioma ponga una "X", debemos introducir un "SI" condicional y adem谩s tambi茅n un control SI.ERROR para que no muestre los mensajes de error si no hay datos.

=SI.ERROR(((SI(+INDICE(IDIOMAS!$B$2:$B$20011;COINCIDIR(1;INDICE((IDIOMAS!$A$2:$A$20011=TABLA_IDIOMAS!A11)*(IDIOMAS!$B$2:$B$20011=TABLA_IDIOMAS!$H$1););0))="RUSO";"X")));" ")

Es decir, la f贸rmula que os puse al principio, que ahora est谩 completa, donde ordenamos que si, por ejemplo, el resultado de la f贸rmula es "RUSO" entonces me pone una "X". En caso de que no fuese as铆, Excel mostrar铆a un error y eso visualmente a la hora de presentar un informe no queda nada bien, para ello introducimos la f贸rmula "SI.ERROR", que no deja ser otro condicional, y que cuando aparezca un error nos muestre vac铆o " ", (se podr铆a poner lo que quisi茅ramos, "SIN DATOS", "SIN COMPETENCIA", etc ...

Pues bien, esta ha sido la pr谩ctica de hoy, espero que os ayude a realizar grandes informes y sobresalir un poco m谩s en vuestro trabajo.

Os dejo el enlace como siempre 聽馃槈

Descarga聽el archivo pulsando en:聽ORDENAR Y MOSTRAR DATOS EN UNA MATRIZ A PARTIR DE REGISTROS DUPLICADOS

 

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aqu铆 tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si contin煤a navegando est谩 dando su consentimiento para la aceptaci贸n de las mencionadas cookies y la aceptaci贸n de nuestra pol铆tica de cookies, pinche el enlace para mayor informaci贸n.plugin cookies

ACEPTAR
Aviso de cookies