Exceli valem: mitme VÕI kriteeriumiga FILTER -

Lang L: none (table-of-contents)

Kokkuvõte

Mitme VÕI tingimusega andmete eraldamiseks võite kasutada funktsiooni FILTER koos funktsiooniga MATCH. Näidatud näites on valem F9-s järgmine:

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

kus üksused (B3: B16), värvid (C3: C16) ja linnad (D3: D16) nimetatakse vahemikeks.

See valem tagastab andmed, kus üksus on (särgid VÕI kapuuts) JA värv on (punane VÕI sinine) JA linn on (denver VÕI seattle).

Selgitus

Selles näites sisestatakse kriteeriumid vahemikku F5: H6. Valemi loogika on:

üksus on (särk VÕI kapuuts) JA värv on (punane VÕI sinine) JA linn on (denver VÕI seattle)

Selle valemi filtreerimisloogikat (kaasata argument) rakendatakse funktsioonidega ISNUMBER ja MATCH koos massiivioperatsioonis rakendatava boolean loogikaga.

MATCH on konfigureeritud "tagurpidi", otsingu väärtused pärinevad andmetest ja kriteeriumid, mida kasutatakse otsingu massiivi jaoks. Näiteks on esimene tingimus, et esemed peavad olema kas T-särk või Hoodie. Selle tingimuse rakendamiseks on MATCH seadistatud järgmiselt:

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

Kuna andmetes on 12 väärtust, on tulemuseks massiiv 12 sellise väärtusega:

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

See massiiv sisaldab kas # puuduvat viga (vastet pole) või numbreid (vaste). Teate numbrid vastavad üksustele, mis on kas T-särk või Hoodie. Selle massiivi teisendamiseks TRUE ja FALSE väärtusteks on funktsioon MATCH pakitud funktsiooni ISNUMBER:

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

mis annab sellise massiivi:

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

Selles massiivis vastavad TRUE väärtused särgile või kapuutsile.

Täisvalem sisaldab kolme ülaltoodud väljendit, mida kasutatakse funktsiooni FILTER kaasamise argumendi jaoks:

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ärast MATCH ja ISNUMBER hindamist on meil kolm massiivi, mis sisaldavad TRUE ja FALSE väärtusi. Nende massiivide korrutamise matemaatikaoperatsioon sunnib TÕENE ja VALE väärtused väärtusele 1 ja 0, nii et massiive saame selles punktis visualiseerida järgmiselt:

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

Tulemus vastavalt tõeväärtuse aritmeetika reeglitele on üks massiiv:

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

mis saab funktsiooni FILTER kaasamisargumendiks:

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

Lõpptulemuseks on kolm andmerida, mis on näidatud F9: H11-s

Kõvakodeeritud väärtustega

Ehkki näites olev valem kasutab otse töölehele sisestatud kriteeriume, saab kriteeriumid massiivikonstandidena hoopis kodeerida järgmiselt:

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

Huvitavad Artiklid...