Exceli valem: veergude eemaldamiseks FILTER -

Üldine valem

=FILTER(data,(header="a")+(header="b"))

Kokkuvõte

Veergude filtreerimiseks sisestage argumenti include horisontaalne massiiv. Näidatud näites on valemi I5 valem:

=FILTER(B5:G12,(B4:G4="a")+(B4:G4="c")+(B4:G4="e"))

Tulemuseks on filtreeritud andmekogum, mis sisaldab lähteandmetest ainult veerge A, C ja E.

Selgitus

Ehkki ridade filtreerimiseks kasutatakse sagedamini filtrit FILTER, saate ka veerge filtreerida, nipp on massiivi tarnimine sama arvu veergudega kui lähteandmetega. Selles näites konstrueerime vajaliku massiivi boolean loogikaga, mida nimetatakse ka Boole'i ​​algebraks.

Boole'i ​​algebras vastab korrutamine JA-loogikale ja liitmine VÕI-loogikale. Näidatud näites kasutame Boole'i ​​algebrat OR-loogikaga (liitmine) ainult järgmiste veergude A, C ja E sihtimiseks:

(B4:G4="a")+(B4:G4="c")+(B4:G4="e")

Pärast iga avaldise hindamist on meil kolm väärtust TRUE / FALSE:

(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,TRUE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)

Matemaatikaoperatsioon (liitmine) teisendab TÕENE ja VALE väärtused 1-ks ja 0-ks, nii et saate mõelda toimingule järgmiselt:

(1,0,0,0,0,0)+ (0,0,1,0,0,0)+ (0,0,0,0,1,0)

Lõpuks on meil üks horisontaalne massiiv 1s ja 0s:

(1,0,1,0,1,0)

mis tarnitakse otse funktsioonile FILTER argumendina include:

=FILTER(B5:G12,(1,0,1,0,1,0))

Pange tähele, et lähteandmetes on 6 veergu ja massiivis 6 väärtust, kõik kas 1 või 0. FILTER kasutab seda massiivi filtrina, et kaasata lähteandmetest ainult veerud 1, 3 ja 5. Veerud 2, 4 ja 6 eemaldatakse. Teisisõnu, ainsad säilinud veerud on seotud 1-dega.

Funktsiooniga MATCH

VÕI loogika rakendamine koos lisamisega, nagu eespool näidatud, töötab hästi, kuid see ei laiene hästi ja muudab võimatuks kasutada töölehe väärtuste vahemikku kriteeriumina. Alternatiivina võite kasutada argumenti MATCH koos funktsiooniga ISNUMBER kaasamise argumendi tõhusamaks koostamiseks:

=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,("a","c","e"),0)))

Funktsioon MATCH on konfigureeritud otsima kõiki massiivi konstandi veerupäiseid ("a", "c", "e"), nagu näidatud. Teeme seda nii, et MATCH-i tulemusel oleksid lähteandmetega ühilduvad mõõtmed, mis sisaldavad 6 veergu. Pange tähele ka seda, et täpse vaste sundimiseks on MATCH-i kolmas argument seatud nulliks.

Pärast MATCHi käivitamist tagastab see sellise massiivi:

(1,#N/A,2,#N/A,3,#N/A)

See massiiv läheb otse lahtrisse ISNUMBER, mis tagastab teise massiivi:

(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)

Nagu ülal, on see massiiv horisontaalne ja sisaldab komadega eraldatud 6 väärtust. FILTER kasutab massiivi 2., 4. ja 6. veeru eemaldamiseks.

Vahemikuga

Kuna veerupäised on juba töölehel vahemikus I4: K4, saab ülaltoodud valemit hõlpsasti kohandada vahemiku otse kasutamiseks järgmiselt:

=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,I4:K4,0)))

Vahemikku I4: K4 hinnatakse kui ("a", "c", "e") ja see käitub täpselt nagu massiivikonstant ülaltoodud valemis.

Huvitavad Artiklid...