Encontrar numeros que B y C
- Jaime Franco Jimenez

- 17 ago 2023
- 2 Min. de lectura
Tenemos una columna con una serie de números y, una segunda columna con las letras A, B, y C.

Debemos de encontrar aquellos números que aparecen solo con la letra B y C.
Empecemos…
En la celda D2, nos vamos a traer los valores únicos de los valores numérico, y, ordenados, para ello, ponemos la función ORDENAR, como argumento matriz ponemos la función UNICOS como argumento matriz de UNICOS, seleccionamos el rango A2:A20.
Cerramos paréntesis.
=ORDENAR(UNICOS(A2:A20))
Tenemos una matriz desbordada con los números únicos del rango A2:20 ordenados.

En la celda E2, ponemos la función LET, creamos una variable, y, ponemos la misma expresión usada anteriormente, fijamos A2:A20, probamos variable.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));a)

Creamos otra variable, usamos la función FILTRAR, como argumento array, seleccionamos el rango B2:B20, y, fijamos, como argumento include, seleccionamos el rango A2:A20, fijamos, e, igualamos al primer valor de la variable “a”, para ello, usamos INDICE, como argumento matriz es la variable “a”, como argumento numero de fila, ponemos la función FILA, y, como argumento ponemos A1, para que cuando arrastremos vaya tomando el siguiente valor de la variable “a”, omitimos el argumento número de columna.
Probamos variable.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1)));b)
Nos devuelve la letra “B”, que corresponde a la letra del número 1.
Transponemos la función FILTRAR.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;TRANSPONER(FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1))));b)
Creamos otra variable, nos traemos los valores únicos de la variable “b” con la función UNICOS, pero, usamos el argumento bycol, y, seleccionamos devolver columnas únicas.
Probamos variable.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;TRANSPONER(FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1))));c;UNICOS(b;VERDADERO);c)
Nos sigue devolviendo “B”.
Creamos otra variable, usamos la función LARGO, y, como argumento ponemos la variable “c”.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;TRANSPONER(FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1))));c;UNICOS(b;VERDADERO);d;LARGO(c);d)
Sumamos la función LARGO.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;TRANSPONER(FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1))));c;UNICOS(b;VERDADERO);d;SUMA(LARGO(c));d)
Preguntamos que, si la suma es igual a 2, en ese caso, que nos devuelva el primer valor, para ello, volvemos a usar INDICE, como argumento matriz ponemos la variable “a”, como argumento numero de fila, ponemos la función FILA, y, como argumento ponemos A1, en caso contrario, que ponga Sin coincidencia.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;TRANSPONER(FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1))));c;UNICOS(b;VERDADERO);d;SI(SUMA(LARGO(c))=2;INDICE(a;FILA(A1))&c;"Sin coincidencia");d)
Aceptamos, y, vemos que para el primer valor aparece Sin coincidencia.
Arrastramos.
Vemos que donde un numero tiene la letra “B”, y, “D” nos aparece, el resto aparece Sin coincidencia.

Creamos otra variable, usamos la función UNIRCADENAS, como argumento delimitador, ponemos coma, ignoramos celdas vacías, como argumento texto1, es la variable “d”, probamos variable.
=LET(a;ORDENAR(UNICOS($A$2:$A$20));b;TRANSPONER(FILTRAR($B$2:$B$20;$A$2:$A$20=INDICE(a;FILA(A1))));c;UNICOS(b;VERDADERO);d;SI(SUMA(LARGO(c))=2;INDICE(a;FILA(A1))&c;"Sin coincidencia");e;UNIRCADENAS(",";VERDADERO;d);e)
Aceptamos, arrastramos, y, ya lo tenemos.

Seleccionamos tanto la secuencia de números que creamos al principio, como estos resultados, desplegamos formato condicional, y, seleccionamos nueva regla.

En la ventana que se abre, seleccionamos la última opción.
Ponemos:

Damos un formato y aceptamos.
Copiamos el encabezado, y, formato del modelo.
Ya tenemos nuestro ejemplo resuelto.

Miguel Angel Franco




Comentarios