![](https://cdn.wiki-base.com/2988622/excel_formula_filter_with_complex_multiple_criteria__2.png.webp)
Yhteenveto
Voit suodattaa ja purkaa tietoja useiden monimutkaisten kriteerien perusteella käyttämällä SUODATIN-funktiota lauseketjun kanssa, joka käyttää loogista logiikkaa. Esitetyssä esimerkissä kaava G5: ssä on:
=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4))
Tämä kaava palauttaa tiedot, joissa:
tili alkaa "x": llä JA alue on "itä", ja kuukausi EI OLE huhtikuu.
Selitys
Tässä esimerkissä meidän on rakennettava logiikka, joka suodattaa tiedot sisällyttämään:
tili alkaa "x": llä JA alue on "itä", ja kuukausi EI OLE huhtikuu.
Tämän kaavan (sisällytetä argumentti) suodatuslogiikka luodaan ketjuamalla yhteen kolme lausetta, jotka käyttävät loogista logiikkaa tietojen matriiseissa. Ensimmäinen lauseke käyttää VASEN-funktiota testatakseen, aloitetaanko tilin tunnuksella "x":
LEFT(B5:B16)="x" // account begins with "x"
Tuloksena on joukko TOSI EPÄTOSI arvoja, kuten tämä:
(TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE)
Toinen lauseke testaa, onko alue "itä" operaattorin (=) kanssa:
C5:C16="east" // region is east
Tuloksena on toinen taulukko:
(FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE)
Kolmas lauseke käyttää KUUKAUS-funktiota EI-funktion kanssa testattaakseen, onko kuukausi ei huhtikuu:
NOT(MONTH(D5:D16)=4) // month is not april
joka tuottaa:
(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)
Huomaa, että NOT-funktio kääntää MONTH-lausekkeen tuloksen.
Kaikki kolme taulukkoa kerrotaan yhdessä. Matematiikkaoperaatio pakottaa TOSI- ja EPÄTOSI-arvot arvoon 1s ja 0s, joten tässä vaiheessa voimme visualisoida include-argumentin seuraavasti:
(1;0;1;1;1;0;0;0;1;1;0;1)* (0;0;1;1;1;0;1;0;0;1;0;1)* (0;0;0;1;1;1;1;1;1;1;1;1)
Boolen kertolasku vastaa loogista funktiota AND, joten lopputulos on yksi tällainen taulukko:
(0;0;0;1;1;0;0;0;0;1;0;1)
FILTER-toiminto käyttää tätä taulukkoa suodattamaan tiedot ja palauttaa neljä riviä, jotka vastaavat taulukon 1: tä.
Kriteerien laajentaminen
Lausekkeita, joita käytetään luomaan argumentti suodattimessa, voidaan laajentaa tarpeen mukaan käsittelemään vielä monimutkaisempia suodattimia. Voit esimerkiksi suodattaa tietoja sisällyttämään vain rivit, joiden määrä on> 10000, käyttämällä seuraavaa kaavaa:
=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4)*(E5:E16>10000))