Excel vzorec: FILTER s viacerými kritériami ALEBO

Obsah

Zhrnutie

Ak chcete extrahovať údaje pomocou viacerých podmienok ALEBO, môžete použiť funkciu FILTER spolu s funkciou MATCH. V zobrazenom príklade je vzorec v F9:

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

kde položky (B3: B16), farby (C3: C16) a mestá (D3: D16) sú pomenované rozsahmi.

Tento vzorec vráti údaje, kde je položka (tričká ALEBO mikina s kapucňou) A farba je (červená ALEBO modrá) A mesto je (denver ALEBO seattle).

Vysvetlenie

V tomto príklade sa kritériá zadávajú v rozsahu F5: H6. Logika vzorca je:

položka je (tričko ALEBO mikina s kapucňou) A farba je (červená ALEBO modrá) A mesto je (denver ALEBO seattle)

Logika filtrovania tohto vzorca (argument zahrnutia) sa použije s funkciami ISNUMBER a MATCH spolu s logickou logikou použitou v operácii poľa.

MATCH je nakonfigurovaný „dozadu“, s vyhľadávacími hodnotami pochádzajúcimi z údajov a kritériami použitými pre vyhľadávacie pole. Napríklad prvá podmienka je, že položky musia byť buď tričko alebo mikina. Ak chcete použiť túto podmienku, ZÁPAS je nastavený takto:

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

Pretože v dátach je 12 hodnôt, výsledkom je pole s 12 hodnotami, ako je táto:

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

Toto pole obsahuje buď # chýb N / A (žiadna zhoda) alebo čísla (zhoda). Čísla oznámení zodpovedajú položkám, ktoré sú buď tričko alebo mikina. Ak chcete toto pole previesť na hodnoty TRUE a FALSE, je funkcia MATCH zabalená do funkcie ISNUMBER:

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

ktorý dáva pole ako je toto:

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

V tomto poli zodpovedajú TRUE hodnoty tričku alebo mikine.

Celý vzorec obsahuje tri výrazy, ako je ten, ktorý sa používa pre argument include funkcie FILTER:

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

Po vyhodnotení MATCH a ISNUMBER máme tri polia obsahujúce hodnoty TRUE a FALSE. Matematická operácia vynásobenia týchto polí spoločne vynúti hodnoty TRUE a FALSE na 1 s a 0 s, takže v tomto okamihu môžeme polia vizualizovať takto:

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

Výsledkom podľa pravidiel boolovskej aritmetiky je jediné pole:

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

ktorý sa stane argumentom include vo funkcii FILTER:

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

Konečným výsledkom sú tri riadky údajov zobrazené v F9: H11

S pevne zakódovanými hodnotami

Aj keď vzorec v príklade používa kritériá zadané priamo do hárka, kritériá je možné napevno napísať ako konštanty poľa, napríklad takto:

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

Zaujímavé články...