Filterfunktion dynamische Spalte
#1
Hallo

Ich habe eine Intelegente Tabelle. 30 Spalten 500 Zeilen

Auf einem anderen Blatt werte ich die Tabelle aus. Und lasse mir verschiedenne Spalten anzeigen. 
Code:
FILTER(SPALTENWAHL(Wartungsübersicht;VERGLEICH($A$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($B$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH(C$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($D$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($E$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($F$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($G$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($H$8;Wartungsübersicht[#Kopfzeilen];0);VERGLEICH($I$8;Wartungsübersicht[#Kopfzeilen];0));ISTZAHL(SUCHEN($A$5;Wartungsübersicht[Wartungskunden]));"nichts gefunden")

Ich suche eine Alternative zur Spalenwahl Funktion. Da die nicht in allen Versionen funktioniert. Ich kann in der Kopfzeile mittels Dropdown die Saplten ändern. Hat jemand eine Idee?

Mit Index vergleich funktioniert es. Das möchte ich nicht. Da ich die ganze Spalte als (#) array darstellen möchte weil sich Einträge ändern und ich das so dynamisch wie möglich  halten möchte. 

Vielen Dank
Heiko
Antworten Top
#2
Hallo Heiko,

zeige doch bitte mal deine (anonymisierte Datei). Dann lässt sich lichter ein Lösungsvorschlag finden.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
(03.02.2025, 11:24)Heiko* schrieb: Ich suche eine Alternative zur Spalenwahl Funktion. Da die nicht in allen Versionen funktioniert...

...bis zu welcher Version soll es denn abwärtskompatibel sein? Bis zu 2016 ginge PQ, bis 2007 auch, allerdings nur mit entsprechendem AddIn. Im MS-Office Forum hatte Flotter Feger mal ein AddIn gepostet, dass neuere Funktionen auch für ältere Versionen zugänglich macht. Bin mir aber nicht sicher, ob Spaltenwahl dabei war. Musst Du mal googeln... oder Dich an den flotten Feger wenden...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#4
Hallo. Das dauert ne weile. Da sehr viele Daten drin stehen

Hallo Ralf. 

Soweit solls garniert zurück. In eine Zeit als sequenz existiert sollte reichen
Antworten Top
#5
Advancedfilter macht das seht einfach. Nur die gewünschte Spaltennamen ins Zielbereich setzen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hi,

genau aus diesem Grund wurde die Funktion SPALTENWAHL eingeführt, weil z.B. INDEX das nicht (oder nur bedingt) kann.

Deine Formel lässt sich übrigens deutlich eindampfen:

=LET(x;FILTER(Wartungsübersicht;ISTZAHL(SUCHEN(A5;Wartungsübersicht[Wartungskunden]));"nichts gefunden");SPALTENWAHL(x;VERGLEICH(A8:I8;Wartungsübersicht[#Kopfzeilen];0)))
Antworten Top
#7
Statt Spaltenwahl kannst du in der Regel auch Index benutzen, wenn du die Spalte als DRITTEN Parameter eingibst.
INDEX(x;;VERGLEICH(A8:I8;Wartungsübersicht[#Kopfzeilen];0)).....
Antworten Top
#8
Zitat:INDEX(x;;VERGLEICH(A8:I8;Wartungsübersicht[#Kopfzeilen];0))

Das hast Du aber nicht getestet Wink
Antworten Top
#9
Hallo. 

Vielen Dank für den input.

Hab selber noch bisschen rum gebastelt. Das funktioniert. Nur die Zahlen in den geschweiften Kammern will ich irgendwann noch dynamischer machen.
Code:
=FILTER(INDEX(Wartungsübersicht;SEQUENZ(ANZAHL2(Wartungsübersicht[Wartungskunden]));{1.2.15.16.17.18.26.27});Wartungsübersicht[Wartungskunden]=$A$5;INDEX(Wartungsübersicht;SEQUENZ(ANZAHL2(Wartungsübersicht[Wartungskunden]));{1.2.15.16.17.18.26.27}))

Die Formel mit let werde ich mir wirklich mal anschauen. Sieht interessant aus. Let habe ich noch nicht so oft verwendet.

Schöne Grüße heiko
Antworten Top
#10
Zitat:Nur die Zahlen in den geschweiften Kammern will ich irgendwann noch dynamischer machen.

Wenn Deine Spaltenüberschriften in A8:I8 stehen, dann:

=WENNFEHLER(FILTER(INDEX(Wartungsübersicht;SEQUENZ(ZEILEN(Wartungsübersicht[Wartungskunden]));VERGLEICH(A8:I8;Wartungsübersicht[#Kopfzeilen];0));Wartungsübersicht[Wartungskunden]=$A$5;INDEX(Wartungsübersicht;SEQUENZ(ZEILEN(Wartungsübersicht[Wartungskunden]));VERGLEICH(A8:I8;Wartungsübersicht[#Kopfzeilen];0)));"")

Hab noch ANZAHL2 durch ZEILEN ersetzt, falls ein Eintrag in der Spalte Wartungskunden leer sein sollte.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste