„Excel“ formulė: FILTRAS su keliais ARBA kriterijais -

Turinys

Santrauka

Norėdami išgauti duomenis su keliomis ARBA sąlygomis, galite naudoti funkciją FILTRAS kartu su funkcija MATCH. Parodytame pavyzdyje formulė F9 yra:

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

kur elementai (B3: B16), spalvos (C3: C16) ir miestai (D3: D16) yra pavadinti diapazonais.

Ši formulė pateikia duomenis, kur elementas yra (marškinėliai ARBA gobtuvas) IR spalva yra (raudona ARBA mėlyna) IR miestas yra (denveris ARBA Sietlas).

Paaiškinimas

Šiame pavyzdyje kriterijai įvedami diapazone F5: H6. Formulės logika yra:

prekė yra (marškinėliai ARBA gobtuvas) IR spalva yra (raudona ARBA mėlyna) IR miestas yra (denveris ARBA Sietlas)

Šios formulės filtravimo logika (argumentas „include“) taikoma kartu su funkcijomis ISNUMBER ir MATCH, taip pat su loginės logikos funkcija, taikoma masyvo operacijoje.

„MATCH“ sukonfigūruotas „atgal“, iš duomenų gaunamos paieškos vertės ir paieškos masyvo kriterijai. Pavyzdžiui, pirmoji sąlyga yra ta, kad daiktai turi būti marškinėliai arba gobtuvas. Norėdami pritaikyti šią sąlygą, „MATCH“ nustatoma taip:

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

Kadangi duomenyse yra 12 reikšmių, gauname masyvą su 12 tokių reikšmių:

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

Šiame masyve yra arba # N / A klaidos (be atitikties), arba skaičių (atitikimas). Pranešimų numeriai atitinka daiktus, kurie yra „Marškinėliai“ arba „Hoodie“. Norėdami konvertuoti šį masyvą į TRUE ir FALSE reikšmes, funkcija MATCH įtraukiama į funkciją ISNUMBER:

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

iš kurio gaunamas toks masyvas:

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

Šiame masyve TRUE reikšmės atitinka marškinėlius ar gobtuvą.

Visoje formulėje yra trys posakiai, kaip antai anksčiau, naudojami funkcijos FILTER įtraukimo argumentui:

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

Įvertinę MATCH ir ISNUMBER, turime tris masyvus, kuriuose yra TRUE ir FALSE reikšmės. Matematinė operacija, padauginus šiuos masyvus, verčia TRUE ir FALSE reikšmes į 1s ir 0s, todėl masyvus šiuo metu galime vizualizuoti taip:

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

Rezultatas, laikantis loginės aritmetikos taisyklių, yra vienas masyvas:

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

kuris tampa funkcija FILTER įtraukti argumentą:

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

Galutinis rezultatas yra trys duomenų eilutės, parodytos F9: H11

Su sunkiai užkoduotomis vertėmis

Nors pavyzdyje pateiktoje formulėje naudojami kriterijai, įrašyti tiesiai į darbalapį, kriterijai gali būti užkoduoti kaip masyvo konstantos, taip:

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

Įdomios straipsniai...