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

Tabla de contenido

Resumen

Para filtrar y extraer datos basados ​​en múltiples criterios complejos, puede usar la función FILTRO con una cadena de expresiones que usan lógica booleana. En el ejemplo que se muestra, la fórmula en G5 es:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4))

Esta fórmula devuelve datos donde:

la cuenta comienza con "x" Y la región es "este", y el mes NO es abril.

Explicación

En este ejemplo, necesitamos construir una lógica que filtre los datos para incluir:

la cuenta comienza con "x" Y la región es "este", y el mes NO es abril.

La lógica de filtrado de esta fórmula (el argumento de inclusión) se crea encadenando tres expresiones que usan lógica booleana en matrices en los datos. La primera expresión usa la función IZQUIERDA para probar si la cuenta comienza con "x":

LEFT(B5:B16)="x" // account begins with "x"

El resultado es una matriz de valores VERDADERO FALSO como este:

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

La segunda expresión prueba si la región es "este" con el operador igual a (=):

C5:C16="east" // region is east

El resultado es otra matriz:

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

La tercera expresión usa la función MES con la función NO para probar si el mes no es abril:

NOT(MONTH(D5:D16)=4) // month is not april

cuyos rendimientos:

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

Tenga en cuenta que la función NO invierte el resultado de la expresión MES.

Las tres matrices se multiplican juntas. La operación matemática convierte los valores VERDADERO y FALSO en 1 y 0, por lo que en este punto podemos visualizar el argumento de inclusión de la siguiente manera:

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

La multiplicación booleana corresponde a la función lógica Y, por lo que el resultado final es una única matriz como esta:

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

La función FILTRO usa esta matriz para filtrar los datos y devuelve las cuatro filas que corresponden con los 1 en la matriz.

Ampliación de criterios

Las expresiones utilizadas para crear el argumento de inclusión en el filtro se pueden ampliar según sea necesario para manejar filtros aún más complejos. Por ejemplo, para filtrar aún más los datos para incluir solo filas donde la cantidad> 10000, puede usar una fórmula como esta:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4)*(E5:E16>10000))

Articulos interesantes...