Excel formula: FILTRIRAJ z več merili ALI -

Kazalo

Povzetek

Za pridobivanje podatkov z več pogoji ALI lahko uporabite funkcijo FILTER skupaj s funkcijo MATCH. V prikazanem primeru je formula v F9:

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

kjer so predmeti (B3: B16), barve (C3: C16) in mesta (D3: D16) imenovani obsegi.

Ta formula vrne podatke, kjer je izdelek (majice ALI kapuca) IN barva (rdeča ALI modra) IN mesto (Denver ALI Seattl).

Pojasnilo

V tem primeru so merila vnesena v obseg F5: H6. Logika formule je:

izdelek je (majica ALI s kapuco) IN barva je (rdeča ALI modra) IN mesto je (denver ALI seattle)

Logika filtriranja te formule (argument »vključi«) se uporabi s funkcijama ISNUMBER in MATCH, skupaj z logično logiko, uporabljeno v operaciji matrike.

MATCH je konfiguriran "nazaj", pri čemer vrednosti iskanja prihajajo iz podatkov in merila, ki se uporabljajo za iskalno polje. Na primer, prvi pogoj je, da morajo biti predmeti majica s kratkimi rokavi ali s kapuco. Če želite uporabiti ta pogoj, je MATCH nastavljen tako:

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

Ker je v podatkih 12 vrednosti, smo dobili matriko z 12 vrednostmi, kot je ta:

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

Ta matrika vsebuje # N / A napak (brez ujemanja) ali številk (ujemanje). Številke obvestil ustrezajo izdelkom, ki so bodisi majica bodisi majica s kapuco. Če želite to matriko pretvoriti v vrednosti TRUE in FALSE, je funkcija MATCH ovita v funkcijo ISNUMBER:

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

ki da matriko, kot je ta:

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

V tem polju vrednosti TRUE ustrezajo majici ali kapuco.

Celotna formula vsebuje tri izraze, kot je zgoraj, uporabljen za argument vključitve funkcije 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 oceni MATCH in ISNUMBER imamo tri nize, ki vsebujejo TRUE in FALSE vrednosti. Matematična operacija množenja teh nizov prisili vrednosti TRUE in FALSE na 1s in 0s, tako da lahko matrike na tej točki vizualiziramo tako:

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

Rezultat je po pravilih logične aritmetike ena matrika:

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

ki postane argument vključitve v funkciji FILTER:

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

Končni rezultat so tri vrstice podatkov, prikazane v F9: H11

S trdo kodiranimi vrednostmi

Čeprav formula v primeru uporablja merila, vnesena neposredno na delovni list, jih je mogoče trdo kodirati kot konstante matrike, namesto tega:

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

Zanimive Članki...