Definierte Spalten von Tabellenobjekt bekommen
#1
Hallo zusammen,

ich habe eine Frage, von der ich nicht weiß, ob das möglich ist.

Zur Ausgangssituation.
Ich habe ein Tabellen-Objekt mit Namen Input welches 6 Spalten hat.
Column_A
Column_B
Column_C
Column_D
Column_E
Column_F


Nun möchte ich von diesem Tabellen-Objekt nur definierte Spalten bekommen, die nicht zwangsläufig verbunden sind.
Ein Bereich Column_A bis Column_B würde so ausschauen:
Code:
=Input[[Column_A]:[Column_B]]

Möchte ich nun auch noch Spalten Column_D und Column_F daneben haben, kann ich das ja mit HSTACK() machen:
Code:
=HSTACK(
Input[[Column_A]:[Column_B]];
Input[Column_D];
Input[Column_F]
)

Kommen wir nun aber zu meiner Frage.
Gibt es eine andere Möglichkeit die Spalten zu selektieren, ohne ständig die Formel anzupassen?

Mir kamen zwei Ideen in den Kopf.
1. Ich erzeuge eine Tabelle mit Referenz auf die Überschriften:
Code:
=TRANSPOSE(Input[#Headers])
Erzeuge daneben eine Spalte (B) mit binären Werten (1, 0), indem ich die Spalten selektiere:
1 = ausgewählt
0 = abgewählt

Diese Spalte B verwende ich nun, um eine Matrix zu generieren:
Code:
=TEXTJOIN(";";TRUE;B:B)
Was mir "1;1;0;1;0;1" gibt.
Diese Matrix wollte ich mit tem eigentlichen Tabellenobjekt multiplizieren:
Code:
=Input*{1;1;0;1;0;1}
Problem ist, dass ich im 6x6-Bereich nur Werte habe, wenn in der Eingangstabelle Input ein Zahlenwert steht, der mupltipliziert mit der Matrix einen Zahlenwert ergibt. Bei Texten wird #VALUE geschrieben.
Alle weiteren Zeilen >6 werden mit #N/A befüllt.



2. Andere Idee.
Ich verwende die gleiche Tabelle wie aus Beispiel 1. und filtere nach dem Kriterium in Spalte B, dass ich die aktivierten Überschriften habe, loope über alle Einträge und baue mir mit HSTACK() die Tabelle zusammen.
Habe diese Idee erstmal nicht weiter verfolgt.

Zusatzinformation:
Ich will nicht nur die Spalten der Eingangstabelle herauslesen, sondern aus einer gefilterten.
Daher würde ich die Spalten über eine Matrix selektieren (Variante 1).


Kann mir hierzu einer Hilfestellung geben?

Danke!
Antworten Top
#2
Hey

I2:N16 ist die Tabelle.
R2:R7 die 0 und 1. für die Auswahl der Spalten. 
Code:
=MTRANS(FILTER(MTRANS(I2:N16);R2:R7))
Gruß Elex
Antworten Top
#3
Hallo,

es genügt eine ganz simple FILTER-Formel:
=FILTER(Eingabe;SpW)
wobei "Eingabe" der Name der strukt.Tabelle ist und "SpW" der Name der strukt.Tabelle mit der Spaltenwahl.

Datei liegt bei


Angehängte Dateien
.xlsx   TenchiMuyo1984_Spaltenwahl.xlsx (Größe: 15,18 KB / Downloads: 3)
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top


Gehe zu:


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