Excel-formel: Filter ekskluderer tomme verdier -

Innholdsfortegnelse

Generisk formel

=FILTER(data,(rng1"")*(rng2"")*(rng3""))

Sammendrag

For å filtrere ut rader med tomme eller tomme celler, kan du bruke FILTER-funksjonen med boolsk logikk. I eksemplet vist er formelen i F5:

=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))

Utgangen inneholder bare rader fra kildedataene der alle tre kolonnene har en verdi.

Forklaring

FILTER-funksjonen er designet for å trekke ut data som samsvarer med ett eller flere kriterier. I dette tilfellet vil vi bruke kriterier som krever at alle tre kolonnene i kildedataene (navn, gruppe og rom) har data. Med andre ord, hvis en rad mangler noen av disse verdiene, vil vi ekskludere den raden fra utdata.

For å gjøre dette bruker vi tre boolske uttrykk som opererer på matriser. Det første uttrykket tester for blanke navn:

B5:B15"" // check names

Ikke-operatoren () med en tom streng ("") oversettes til "ikke tom". For hver celle i området B5: B15 blir resultatet enten SANT eller FALSK, der SANT betyr "ikke tom" og FALSK betyr "tom". Fordi det er 11 celler i området, får vi 11 resultater i en matrise som dette:

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

Det andre uttrykket tester for blanke grupper:

C5:C15"" // check groups

Igjen sjekker vi 11 celler, så vi får 11 resultater:

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

Til slutt sjekker vi for tomme romnumre:

D5:D15"" // check groups

som produserer:

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

Når matriser som kommer fra de tre uttrykkene ovenfor multipliseres sammen, tvinger matematikkoperasjonen de SANNE og FALSE verdiene til 1s og 0s. Vi bruker multiplikasjon i dette tilfellet, fordi vi ønsker å håndheve "AND" -logikk: expression1 AND expression2 AND expression3. Med andre ord, alle tre uttrykkene må returnere SANN i en gitt rad.

Etter reglene for boolsk logikk er det endelige resultatet en matrise som dette:

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

Denne matrisen leveres direkte til FILTER-funksjonen som inkluderingsargument. FILTER inkluderer bare de 6 radene som tilsvarer 1s i den endelige utgangen.

Interessante artikler...