Excel formula: FILTRS ar vairākiem VAI kritērijiem -

Satura rādītājs

Kopsavilkums

Lai iegūtu datus ar vairākiem VAI nosacījumiem, varat izmantot funkciju FILTER kopā ar funkciju MATCH. Parādītajā piemērā formula F9 ir:

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

kur vienumiem (B3: B16), krāsām (C3: C16) un pilsētām (D3: D16) ir nosaukti diapazoni.

Šī formula atgriež datus, kur vienums ir (krekli VAI kapuce) UN krāsa ir (sarkana VAI zila) UN pilsēta ir (denvera VAI Sietla).

Paskaidrojums

Šajā piemērā kritēriji tiek ievadīti diapazonā F5: H6. Formulas loģika ir:

prece ir (krekls VAI kapuce) UN krāsa ir (sarkana VAI zila) UN pilsēta ir (denver VAI Sietla)

Šīs formulas filtrēšanas loģika (arguments ietver) tiek lietota ar funkcijām ISNUMBER un MATCH, kā arī ar masīva operācijā izmantoto loģisko loģiku.

MATCH ir konfigurēts "atpakaļ", ar uzmeklēšanas vērtībām, kas nāk no datiem, un kritērijiem, kas tiek izmantoti uzmeklēšanas masīvam. Piemēram, pirmais nosacījums ir tāds, ka priekšmetiem jābūt vai nu ar kreklu, vai ar kapuci. Lai piemērotu šo nosacījumu, MATCH ir iestatīts šādi:

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

Tā kā datos ir 12 vērtības, mēs iegūstam masīvu ar šādām 12 vērtībām:

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

Šajā masīvā ir # N / A kļūdas (nav atbilstības) vai skaitļi (atbilstība). Paziņojumu numuri atbilst vienumiem, kas ir vai nu krekls, vai kapuce. Lai pārveidotu šo masīvu TRUE un FALSE vērtībās, funkcija MATCH tiek iesaiņota funkcijā ISNUMBER:

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

kas dod šādu masīvu:

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

Šajā masīvā TRUE vērtības atbilst tshirt vai hoodie.

Pilnā formula satur trīs izteiksmes, piemēram, iepriekš minētās, kas izmantotas FILTER funkcijas iekļaut argumentam:

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

Pēc MATCH un ISNUMBER novērtēšanas mums ir trīs masīvi, kas satur TRUE un FALSE vērtības. Matemātiskā darbība, reizinot šos masīvus, TRUE un FALSE vērtības piespiež līdz 1s un 0s, tāpēc masīvus šajā brīdī varam vizualizēt šādi:

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

Rezultāts, ievērojot Būla aritmētikas noteikumus, ir viens masīvs:

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

kas kļūst par funkciju FILTER iekļaušanas argumentu:

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

Gala rezultāts ir trīs datu rindas, kas parādītas F9: H11

Ar grūti kodētām vērtībām

Lai gan piemērā esošajā formulā tiek izmantoti tieši darblapā ievadītie kritēriji, kritērijus tā vietā var stingri kodēt kā masīva konstantes:

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

Interesanti raksti...