
Obecný vzorec
=TRANSPOSE(FILTER(data,logic))
souhrn
Chcete-li filtrovat data uspořádaná vodorovně a zobrazit výsledek ve svislém formátu, můžete použít funkci FILTER společně s funkcí TRANSPOSE. V zobrazeném příkladu je vzorec v B10:
=TRANSPOSE(FILTER(data,group="fox"))
kde data (C4: L6) a skupina (C5: L5) jsou pojmenovány rozsahy.
Vysvětlení
Cílem je filtrovat horizontální data v rozsahu C4: L6, aby se extrahovaly členy skupiny „liška“, a zobrazit výsledky s daty převedenými do vertikálního formátu. Pro pohodlí a čitelnost máme k dispozici dva pojmenované rozsahy: data (C4: L6) a group (C5: L5).
Funkci FILTER lze použít k extrakci dat uspořádaných svisle (v řádcích) nebo vodorovně (ve sloupcích). FILTER vrátí odpovídající data ve stejné orientaci. Vzorec v B5 je:
=TRANSPOSE(FILTER(data,group="fox"))
Při práci zevnitř ven je argument include pro FILTER logickým výrazem:
group="fox" // test for "fox"
Když je logický výraz vyhodnocen, vrátí pole 10 TRUE a FALSE hodnot:
(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)
Poznámka: čárky (,) v tomto poli označují sloupce. Středníky (;) by označovaly řádky.
Pole obsahuje jednu hodnotu na záznam v datech a každý PRAVDA odpovídá sloupci, kde je skupina „liška“. Toto pole se vrací přímo do FILTERU jako argument include, kde provádí vlastní filtrování:
FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))
Filtrem procházejí pouze data ve sloupcích, které odpovídají PRAVDĚ, takže výsledkem jsou data pro šest lidí ve skupině „liška“. FILTER vrací tato data v původní vodorovné struktuře. Protože chceme zobrazit výsledky z FILTRU ve svislém formátu, funkce TRANSPOSE je zabalena kolem funkce FILTER:
=TRANSPOSE(FILTER(data,group="fox"))
Funkce TRANSPOSE transponuje data a vrací vertikální pole jako konečný výsledek v buňce B10. Protože FILTER je funkce dynamického pole, výsledky se šíří do rozsahu B10: D15. Pokud se data v datech (C4: L6) změní, výsledek z FILTRU se automaticky aktualizuje.