Fórmula de Excel: FILTRO con múltiples criterios OR -

Tabla de contenido

Resumen

Para extraer datos con múltiples condiciones OR, puede utilizar la función FILTRO junto con la función COINCIDIR. En el ejemplo que se muestra, la fórmula en F9 es:

=FILTER(B5:D16, ISNUMBER(MATCH(items,F5:F6,0))* ISNUMBER(MATCH(colors,G5:G6,0))* ISNUMBER(MATCH(cities,H5:H6,0)))

donde los elementos (B3: B16), los colores (C3: C16) y las ciudades (D3: D16) son rangos de nombres.

Esta fórmula devuelve datos donde el artículo es (camisetas O sudadera con capucha) Y el color es (rojo O azul) Y la ciudad es (Denver O Seattle).

Explicación

En este ejemplo, los criterios se ingresan en el rango F5: H6. La lógica de la fórmula es:

el artículo es (camiseta O sudadera con capucha) Y el color es (rojo O azul) Y la ciudad es (Denver O Seattle)

La lógica de filtrado de esta fórmula (el argumento de inclusión) se aplica con las funciones ISNUMBER y MATCH, junto con la lógica booleana aplicada en una operación de matriz.

MATCH se configura "al revés", con los valores de búsqueda que provienen de los datos y los criterios utilizados para la matriz de búsqueda. Por ejemplo, la primera condición es que los artículos deben ser una camiseta o una sudadera con capucha. Para aplicar esta condición, MATCH se configura así:

MATCH(items,F5:F6,0) // check for tshirt or hoodie

Debido a que hay 12 valores en los datos, el resultado es una matriz con 12 valores como este:

(1;#N/A;#N/A;2;#N/A;2;2;#N/A;1;#N/A;2;1)

Esta matriz contiene errores # N / A (sin coincidencia) o números (coincidencia). Los números de aviso corresponden a artículos que son camiseta o sudadera con capucha. Para convertir esta matriz en valores VERDADERO y FALSO, la función COINCIDIR está envuelta en la función ESNÚMERO:

ISNUMBER(MATCH(items,F5:F6,0))

que produce una matriz como esta:

(TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE)

En esta matriz, los valores VERDADEROS corresponden a camiseta o sudadera con capucha.

La fórmula completa contiene tres expresiones como las que se usaron anteriormente para el argumento de inclusión de la función FILTRO:

ISNUMBER(MATCH(items,F5:F6,0))* // tshirt or hoodie ISNUMBER(MATCH(colors,G5:G6,0))* // red or blue ISNUMBER(MATCH(cities,H5:H6,0))) // denver or seattle

Después de que se evalúan COINCIDIR e ISNUMERO, tenemos tres matrices que contienen valores VERDADERO y FALSO. La operación matemática de multiplicar estos arreglos coacciona los valores VERDADERO y FALSO a 1 y 0, por lo que podemos visualizar los arreglos en este punto de esta manera:

(1;0;0;1;0;1;1;0;1;0;1;1)* (1;0;1;1;0;1;0;0;0;0;0;1)* (1;0;1;0;0;1;0;1;1;0;0;1)

El resultado, siguiendo las reglas de la aritmética booleana, es una única matriz:

(1;0;0;0;0;1;0;0;0;0;0;1)

que se convierte en el argumento de inclusión en la función FILTRO:

=FILTER(B5:D16,(1;0;0;0;0;1;0;0;0;0;0;1))

El resultado final son las tres filas de datos que se muestran en F9: H11

Con valores codificados

Aunque la fórmula en el ejemplo usa criterios ingresados ​​directamente en la hoja de trabajo, los criterios se pueden codificar como constantes de matriz de la siguiente manera:

=FILTER(B5:D16, ISNUMBER(MATCH(items,("Tshirt";"Hoodie"),0))* ISNUMBER(MATCH(colors,("Red";"Blue"),0))* ISNUMBER(MATCH(cities,("Denver";"Seattle"),0)))

Articulos interesantes...