Excel-Formel: Horizontal nach Vertikal filtern und transponieren -

Inhaltsverzeichnis

Generische Formel

=TRANSPOSE(FILTER(data,logic))

Zusammenfassung

Um horizontal angeordnete Daten zu filtern und das Ergebnis in einem vertikalen Format anzuzeigen, können Sie die Funktion FILTER zusammen mit TRANSPOSE verwenden. In dem gezeigten Beispiel lautet die Formel in B10:

=TRANSPOSE(FILTER(data,group="fox"))

Dabei werden Daten (C4: L6) und Gruppe (C5: L5) als Bereiche bezeichnet.

Erläuterung

Ziel ist es, die horizontalen Daten im Bereich C4: L6 zu filtern, um Mitglieder der Gruppe "Fuchs" zu extrahieren und Ergebnisse mit Daten anzuzeigen, die in ein vertikales Format übertragen wurden. Zur Vereinfachung und Lesbarkeit haben wir zwei benannte Bereiche, mit denen wir arbeiten können: Daten (C4: L6) und Gruppe (C5: L5).

Mit der Funktion FILTER können Daten extrahiert werden, die vertikal (in Zeilen) oder horizontal (in Spalten) angeordnet sind. FILTER gibt die übereinstimmenden Daten in derselben Ausrichtung zurück. Die Formel in B5 lautet:

=TRANSPOSE(FILTER(data,group="fox"))

Das von innen nach außen arbeitende Argument include für FILTER ist ein logischer Ausdruck:

group="fox" // test for "fox"

Wenn der logische Ausdruck ausgewertet wird, gibt er ein Array mit 10 TRUE- und FALSE-Werten zurück:

(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)

Hinweis: Die Kommas (,) in diesem Array geben Spalten an. Semikolons (;) würden Zeilen anzeigen.

Das Array enthält einen Wert pro Datensatz in den Daten, und jeder TRUE entspricht einer Spalte, in der die Gruppe "fox" ist. Dieses Array wird als include-Argument direkt an FILTER zurückgegeben und führt die eigentliche Filterung durch:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Nur Daten in Spalten, die TRUE entsprechen, gelangen durch den Filter. Das Ergebnis sind also Daten für die sechs Personen in der Gruppe "Fuchs". FILTER gibt diese Daten in der ursprünglichen horizontalen Struktur zurück. Da wir die Ergebnisse von FILTER in einem vertikalen Format anzeigen möchten, wird die Funktion TRANSPOSE um die Funktion FILTER gewickelt:

=TRANSPOSE(FILTER(data,group="fox"))

Die TRANSPOSE-Funktion transponiert die Daten und gibt als Endergebnis in Zelle B10 ein vertikales Array zurück. Da FILTER eine dynamische Array-Funktion ist, liegen die Ergebnisse im Bereich B10: D15. Wenn sich Daten in Daten (C4: L6) ändern, wird das Ergebnis von FILTER automatisch aktualisiert.

Interessante Beiträge...