Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen nach Jahren neu generieren

Zeilen nach Jahren neu generieren
05.09.2022 14:22:57
Magister
Guten Tag!
Für eine Hausarbeit muss ich unter anderem einen Datensatz erstellen. Dafür besitze ich die Daten, komme aber nicht mit der "Konfigurierung" zurecht.
Ich möchte in einer Tabelle, die Werte für Länder und Jahre ausgibt, die Länder für jedes Jahr einzeln ausgegeben haben.
Aktuell sieht es so aus:
1989 1990 1991
Afghanistan 2152 1871 1411
Algeria 455 734 1035
Um die Daten verarbeiten zu können, wäre es aber nötig das sie so aussehen:
Country Time TIV
Afghanistan 1989 2152
Afghanistan 1990 1871
Afghanistan 1991 1411
Algeria 1989 455
Algeria 1990 734
Algeria 1991 1035
Gewissermaßen also ein "Umdrehen" mit "Neuanordnung"?
Nun also zur Frage: Wie geht das ? Wahrscheinlich ist es eigentlich recht einfach, wenn man wüsste wonach man suchen soll. Leider ist mir keine griffige Bezeichnung hierfür bekannt. Falls diese Frage also schon mal gestellt wurde, freue ich mich auch über Verweise.
LG Magister Militum

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen nach Jahren neu generieren
05.09.2022 14:35:21
Daniel
Hi
wenn die Daten in Spalte A (Länder) bis D (drei Jahre) stehen, kannst du die Transformation per Formel machen.
beispielsweise mit diesen Formeln (für Zeile 2, da in Zeile 1 dann die Überschrift steht:
F2: =Index(A:A;Quotient(Zeile(Z1)-1);3)+2) die 2 ist hier die erste Datenzeile der Ausgangstabelle
G2: =Index(B$1:D$1;1;Rest(Zeile(Z1)-1;3)+2) die 2 ist hier die erste Datenspalte mit den Werten
H2: =Index(B:D;Quotient(Zeile(Z1)-1);3)+2;Rest(Zeile(Z1)-1;3)+2)
Gruß Daniel
Weil es eine Hausarbeit ist: Ein Tipp!
05.09.2022 14:46:45
RPP63
Moin!
Unter einem Datensatz versteht man eine Zeile in einer Tabelle mit Datenfeldern.
Du musst also nicht einen Datensatz erzeugen, sondern eine Tabelle mit mehreren.
https://de.wikipedia.org/wiki/Datensatz
Two Cents
Ralf
Anzeige
AW: Zeilen nach Jahren neu generieren
05.09.2022 14:43:26
UweD
Hallo
in dein normales Modul

Sub Transformieren()
Dim TB1 As Worksheet, Tb2 As Worksheet
Dim LR1 As Long, I As Long, LC As Integer, LR2 As Long
Set TB1 = Sheets("Tabelle1")
Set Tb2 = Sheets("Tabelle2")
'reset
Tb2.UsedRange.Offset(1, 0).ClearContents
With TB1
LR1 = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte
LC = .Cells.SpecialCells(xlCellTypeLastCell).Column - 1 'Letzte Spalte des gesamten Blattes = Anzahl Jahre
For I = 2 To LR1
LR2 = Tb2.Cells(.Rows.Count, "A").End(xlUp).Row + 1 'erste Freie Zeile
Tb2.Cells(LR2, 1).Resize(LC, 1).Value = .Cells(I, 1).Value
Tb2.Cells(LR2, 2).Resize(LC, 1) = WorksheetFunction.Transpose(.Cells(1, 2).Resize(1, LC))
Tb2.Cells(LR2, 3).Resize(LC, 1) = WorksheetFunction.Transpose(.Cells(I, 2).Resize(1, LC))
Next
End With
End Sub
LG UweD
Anzeige
AW: Zeilen nach Jahren neu generieren
05.09.2022 15:21:20
Rudi
Hallo,

Leider ist mir keine griffige Bezeichnung hierfür bekannt.
Der Begriff lautet 'entpivotieren'.
Das kann du einfach mit Pover Query erledigen.
Daten - aus Tabelle/Bereich; Die Länderspalte anklicken; Transformieren - Spalten entpivotieren-andere Spalten entpivitiere
Die Überschriften anpassen
Schließen und laden.
Gruß
Rudi
AW: Zeilen nach Jahren neu generieren
05.09.2022 20:05:06
JoWE
Hallo Rudi,
mehr und mehr reift, auch wg. Deines jetzigen Betrags,
in mir diese Erkenntnis: Ich sollte mich doch jetzt endlich um PQ kümmern.
Danke und Grüße
Jochen
AW: Zeilen nach Jahren neu generieren
05.09.2022 22:31:25
Rudi
Hallo,
manchmal ist's schnell und praktisch. Nutze ich aber selten. 1/4 Jrhd. VBA kriegt man nicht raus. ;-)
Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige