Vzorec aplikace Excel: Filtr vylučuje prázdné hodnoty -

Obsah

Obecný vzorec

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

souhrn

Chcete-li odfiltrovat řádky s prázdnými nebo prázdnými buňkami, můžete použít funkci FILTER s logickou logikou. V zobrazeném příkladu je vzorec v F5:

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

Výstup obsahuje pouze řádky ze zdrojových dat, kde všechny tři sloupce mají hodnotu.

Vysvětlení

Funkce FILTER je navržena k extrakci dat, která odpovídají jednomu nebo více kritériím. V tomto případě chceme použít kritéria, která vyžadují, aby všechny tři sloupce ve zdrojových datech (Název, Skupina a Místnost) obsahovaly data. Jinými slovy, pokud v řádku některá z těchto hodnot chybí, chceme tento řádek z výstupu vyloučit.

K tomu používáme tři logické výrazy pracující na polích. První test výrazů pro prázdné názvy:

B5:B15"" // check names

Operátor not () s prázdným řetězcem ("") se překládá na "není prázdný". Pro každou buňku v rozsahu B5: B15 bude výsledkem buď TRUE, nebo FALSE, kde TRUE znamená „není prázdný“ a FALSE znamená „prázdný“. Protože v rozsahu je 11 buněk, dostaneme 11 výsledků v takovém poli:

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

Druhý test výrazů pro prázdné skupiny:

C5:C15"" // check groups

Znovu kontrolujeme 11 buněk, takže máme 11 výsledků:

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

Nakonec zkontrolujeme prázdná čísla místností:

D5:D15"" // check groups

který vyrábí:

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

Když jsou pole, která jsou výsledkem tří výše uvedených výrazů, vynásobena společně, matematická operace vynutí hodnoty TRUE a FALSE na 1 s a 0 s. V tomto případě používáme násobení, protože chceme vynutit logiku „AND“: expression1 AND expression2 AND expression3. Jinými slovy musí všechny tři výrazy v daném řádku vrátit hodnotu PRAVDA.

Podle pravidel logické logiky je konečným výsledkem pole jako toto:

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

Toto pole je dodáváno přímo do funkce FILTER jako argument zahrnutí. FILTER obsahuje pouze 6 řádků, které odpovídají 1 s v konečném výstupu.

Zajímavé články...