Formula Excel: FILTRU cu criterii multiple complexe -

Cuprins

rezumat

Pentru a filtra și extrage date pe baza mai multor criterii complexe, puteți utiliza funcția FILTER cu un lanț de expresii care utilizează logică booleană. În exemplul prezentat, formula din G5 este:

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

Această formulă returnează date unde:

contul începe cu „x” ȘI regiunea este „est”, iar luna NU este aprilie.

Explicaţie

În acest exemplu, trebuie să construim o logică care să filtreze datele pentru a include:

contul începe cu „x” ȘI regiunea este „est”, iar luna NU este aprilie.

Logica de filtrare a acestei formule (argumentul include) este creată prin înlănțuirea a trei expresii care folosesc logica booleană pe tablourile din date. Prima expresie folosește funcția STÂNGA pentru a testa dacă Contul începe cu „x”:

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

Rezultatul este o serie de valori ADEVĂRATE FALSE ca aceasta:

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

A doua expresie testează dacă Regiunea este „est” cu operatorul egal cu (=):

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

Rezultatul este o altă matrice:

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

A treia expresie folosește funcția MONTH cu funcția NOT pentru a testa dacă luna nu este aprilie:

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

care produce:

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

Rețineți că funcția NU inversează rezultatul din expresia MONTH.

Toate cele trei matrice sunt multiplicate împreună. Operația matematică constrânge valorile TRUE și FALSE la 1s și 0s, deci în acest moment putem vizualiza argumentul include astfel:

(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)

Înmulțirea booleană corespunde funcției logice ȘI, deci rezultatul final este o singură matrice ca aceasta:

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

Funcția FILTER utilizează această matrice pentru a filtra datele și returnează cele patru rânduri care corespund cu 1 din matrice.

Extinderea criteriilor

Expresiile folosite pentru a crea argumentul include în filtru pot fi extinse după cum este necesar pentru a gestiona filtre și mai complexe. De exemplu, pentru a filtra în continuare datele pentru a include numai rânduri în care suma> 10000, puteți utiliza o formulă de genul acesta:

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

Articole interesante...