2.2k Aufrufe
Gefragt in Tabellenkalkulation von neki Einsteiger_in (19 Punkte)
Hallo,

ich überlege jetzt schon einige Zeit, komme aber auf kein Ergebnis.
Hat jemand eine Idee, wie man eine 2-dimensionale Tabelle wieder in Zeilen umwandeln kann (wenn möglich ohne VBA)?

Ich hoffe, ihr versteht, was ich meine.
Zur Verdeutlichung:


Ausgangstabelle
A B C
1 DE EN
2 Tim ls l
3 Max l
4 Peter s s
5 Hans l

gewünschtes Ergebnis
A B C
1 Tim DE ls
2 Tim EN l
3 Max DE
4 Max EN l
5 Hans DE l
6 Hans EN


Hintergrund ist der, dass ich die Daten als 2-dimensionale Tabelle erhalten habe, aber sie in Listenform zur Weiterverarbeitung benötige.

Vielen Dank schon mal.

LG neki

6 Antworten

0 Punkte
Beantwortet von
Hi Neki,

gib mal bitte an, wieviele Spalten und Zeilen deine Originaltabelle umfasst

CU Aliba
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo neki,

In diesem Fall wäre zwar eine VBA-Lösung für meine Begriffe komfortabler aber es geht auch ohne VBA:

>kopiere die Spalte A z.B. in Spalte E
>in Spalte D schreibe in die erste Zeile eine 1 und in die zweite Zeile eine2
>markiere beide Zellen
>und kopiere sie herunter bis zur letzten Zeile der Daten in Spalte E
>anschließend kopiere die beiden Spalten D und E bis zum letzten Eintrag
>füge die Kopie im Anschluss letzten Eintrages ein
>sortiere dann die Spalte D mit Erweiterung bis zur Spalte E
>die Namen sind dann doppelt in einer Spalte

Die Spalte D (Hilfsspalte) kannst Du dann wieder löschen.

Nachdem nur in Zelle B1 und C1 ein Inhalt steht, werden auch die Namen nur doppelt gebraucht.

In Spalte F1 „DE“ eingeben
In Spalte F2 „EN“ eingeben

Anschließend beide Zellen markieren und bis zum Dateiende runterkopieren.

In G1 folgende Formel und runterkopieren:

=INDEX($B$2:$C$5;VERGLEICH(E1;$A$2:$A$5;0);VERGLEICH(F1;$B$1:$C$1;0))


Sollte es mehr Daten als in der Anfrage angeführt geben, wäre alles dementsprechend anzupassen.


Gruß

Paul1
0 Punkte
Beantwortet von neki Einsteiger_in (19 Punkte)
@Aliba: Sorry für die verspätete Antwort: Die Tabelle hat 69 Spalten und 64 Zeilen.

@Paul1: Vielen Dank für deine Mühe, ich habe das System verstanden. Aber du hast vermutlich recht, dass eine VBA-Lösung schöner wäre, denn meine Originaltabelle ist um einiges größer. Ich werde es vorerst trotzdem so versuchen, da meine VBA-Kenntnisse leider sehr bescheiden sind. :-)
0 Punkte
Beantwortet von
Hi Neri,

folgende Formel in die erste Zelle der Ausgabetabelle:

=INDEX(Tabelle1!$A$2:$A$65;AUFRUNDEN(ZEILE(A1)/69;0))

in die nächste Spalte folgende Formel:

=INDEX(Tabelle1!$B$1:$BR$1;;ZÄHLENWENN($A$2:A2;A2))

und dann noch:

=INDEX(Tabelle1!$B$2:$BR$69;VERGLEICH(A2;Tabelle1!$A$2:$A$65;0);VERGLEICH(B2;Tabelle1!$B$1:$BR$1;0))

und alle Formeln soweit benötigt (4416 Zeilen) nach unten kopieren/ziehen.


CU Aliba
0 Punkte
Beantwortet von
Hi, noch mal ich.

habe vergessen zu erwähnen:

Die erste Ausgabezelle ist in A2 eines anderen Arbeitsblattes.
Das Arbeitsblatt mit der 2-dimensionalen Tabelle befindet sich in Tabelle1 und deine Spalten und Zeilenangaben habe ich so interpretiert, daß diese ohne die Beschriftungsspalte und -zeile angegeben sind, also die gesamte Tabelle 70 Spalten und 65 Zeilen hat. Sollte das nicht so sein, dann Bereich anpassen und den Teiler in Formel 1 von 69 auf 68 ändern.

CU Aliba
0 Punkte
Beantwortet von neki Einsteiger_in (19 Punkte)
Hallo Aliba,

vielen, vielen Dank für deine Antwort. Genaus so etwas habe ich mir vorgestellt.

Habe mich jetzt noch etwas gespielt, damit ich die Anzahl der Zeilen und Spalten relativ schnell anpassen kann.

LG neki
...