
Generisk formel
=FILTER(data,(rng1"")*(rng2"")*(rng3""))
Resumé
For at filtrere rækker ud med tomme eller tomme celler kan du bruge FILTER-funktionen med boolsk logik. I det viste eksempel er formlen i F5:
=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))
Outputtet indeholder kun rækker fra kildedataene, hvor alle tre kolonner har en værdi.
Forklaring
FILTER-funktionen er designet til at udtrække data, der matcher et eller flere kriterier. I dette tilfælde vil vi anvende kriterier, der kræver, at alle tre kolonner i kildedataene (Navn, Gruppe og Rum) har data. Med andre ord, hvis en række mangler nogen af disse værdier, vil vi udelukke den række fra output.
For at gøre dette bruger vi tre boolske udtryk, der fungerer på arrays. Det første udtryk tester for blanke navne:
B5:B15"" // check names
Ikke-operatoren () med en tom streng ("") oversættes til "ikke tom". For hver celle i området B5: B15 bliver resultatet enten SAND eller FALSK, hvor SAND betyder "ikke tom" og FALSK betyder "tom". Da der er 11 celler i området, får vi 11 resultater i en matrix som denne:
(TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE)
Det andet udtryk tester for blanke grupper:
C5:C15"" // check groups
Igen kontrollerer vi 11 celler, så vi får 11 resultater:
(TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE)
Endelig kontrollerer vi for tomme rumnumre:
D5:D15"" // check groups
der producerer:
(TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE)
Når matrixerne, der er resultatet af de tre ovenstående udtryk, multipliceres sammen, tvinger matematikoperationen de SANDE og FALSKE værdier til 1 og 0. Vi bruger multiplikation i dette tilfælde, fordi vi ønsker at håndhæve "AND" -logik: expression1 AND expression2 AND expression3. Med andre ord skal alle tre udtryk returnere SAND i en given række.
Efter reglerne for boolsk logik er det endelige resultat en matrix som denne:
(1;0;1;0;1;1;1;0;0;0;1)
Denne matrix leveres direkte til FILTER-funktionen som inkluderingsargument. FILTER inkluderer kun de 6 rækker, der svarer til 1'ere i den endelige output.