![](https://cdn.wiki-base.com/6031642/excel_formula_filter_exclude_blank_values__2.png.webp)
Všeobecný vzorec
=FILTER(data,(rng1"")*(rng2"")*(rng3""))
Zhrnutie
Ak chcete odfiltrovať riadky s prázdnymi alebo prázdnymi bunkami, môžete použiť funkciu FILTER s logickou logikou. V zobrazenom príklade je vzorec v F5:
=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))
Výstup obsahuje iba riadky zo zdrojových údajov, kde všetky tri stĺpce majú hodnotu.
Vysvetlenie
Funkcia FILTER je navrhnutá na extrakciu údajov, ktoré zodpovedajú jednému alebo viacerým kritériám. V takom prípade chceme použiť kritériá, ktoré vyžadujú, aby všetky údaje v stĺpcoch zdrojových údajov (Názov, Skupina a Miestnosť) boli k dispozícii. Inými slovami, ak v riadku chýba ktorákoľvek z týchto hodnôt, chceme tento riadok vylúčiť z výstupu.
Použijeme na to tri logické výrazy operujúce na poliach. Prvý test výrazov na prázdne názvy:
B5:B15"" // check names
Operátor not () s prázdnym reťazcom ("") sa prekladá do "nie prázdneho". Pre každú bunku v rozsahu B5: B15 bude výsledok buď TRUE, alebo FALSE, kde TRUE znamená „nie je prázdny“ a FALSE znamená „prázdny“. Pretože v rozsahu je 11 buniek, dostaneme 11 výsledkov v takomto poli:
(TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE)
Druhý výraz testuje prázdne skupiny:
C5:C15"" // check groups
Opäť kontrolujeme 11 buniek, takže máme 11 výsledkov:
(TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE)
Nakoniec skontrolujeme prázdne čísla miestností:
D5:D15"" // check groups
ktorý vyrába:
(TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE)
Keď sa polia, ktoré sú výsledkom troch vyššie uvedených výrazov, vynásobia spolu, matematická operácia vynúti hodnoty TRUE a FALSE na 1 s a 0 s. V tomto prípade používame násobenie, pretože chceme vynútiť logiku „AND“: výraz1 AND výraz2 AND výraz3. Inými slovami, všetky tri výrazy musia v danom riadku vrátiť hodnotu TRUE.
Podľa pravidiel logickej logiky je konečným výsledkom pole podobné tomuto:
(1;0;1;0;1;1;1;0;0;0;1)
Toto pole sa dodáva priamo do funkcie FILTER ako argument zahrnutia. FILTER obsahuje iba 6 riadkov, ktoré zodpovedajú 1 s v konečnom výstupe.