Große Datenmenge transponieren
#1
Hallo zusammen, 

ich bin neu hier und hab direkt eine Frage :)

Ich habe eine "große Datenmenge" diese muss ich aber in ein Tabelle übertragen.
Die Daten liegen in Ecxel vor. 
Im Anhang findet ihr ein Bild mit der Problemstellung
Danke euch :)


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Warum hast du die Excel Datei nicht hochgeladen ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
HI , Danke für die schnelle Rückmeldung. Ich kann die Beispieldaten hochladen. Die Originaldaten sind nicht für aller Augen gemacht ;)


.xlsx   Testdaten.xlsx (Größe: 10,35 KB / Downloads: 16)

Grüße
Antworten Top
#4
Auch wenn es hier User gibt, die gegen das geniale Tool gerne lästern, hier eine mit Power Query erstellte Lösung.


Angehängte Dateien
.xlsx   cef - Große Datenmenge transponieren (PQ).xlsx (Größe: 19,7 KB / Downloads: 13)
[-] Folgende(r) 2 Nutzer sagen Danke an ws-53 für diesen Beitrag:
  • schauan, wisch
Antworten Top
#5
Hi WS-53,

ich denke, PQ ist hier schon das richtige Mittel der Wahl  Thumps_up
Hier aber dennoch eine Formelvariante - bezogen auf die vom TE hochgeladene Datei.

Hilfsspalte C:

C5:
=VERWEIS(9^9;1/(B$5:B5="");SEQUENZ(16))
bis C21 runterkopieren.

D6:
=WENN(E6="";"";INDEX(A$5:A$21;MIN(WENN(E6&F6&G6=B$5:B$21&B$6:B$22&B$7:B$23;C$5:C$21))))
Weit genug runterkopieren.

E6 (Spill):
=LET(x;B5:B21;y;A5:A21;a;FILTER(x;y=E5);b;FILTER(x;y=F5);c;FILTER(x;y=G5);HSTAPELN(a;b;c))

Falls HSTAPELN noch nicht offiziell ausgerollt sein sollte (weiß ich grad nicht), dann alternativ in
E6:
=LET(x;B5:B21;y;A5:A21;a;FILTER(x;y=E5);b;FILTER(x;y=F5);c;FILTER(x;y=G5);WAHL({1.2.3};a;b;c))
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • schauan
Antworten Top
#6
@WS-23 bitte besser lesen !

Code:
Sub M_snb()
    sn = sheet1.Cells(4, 1).CurrentRegion
    ReDim sp(UBound(sn), 3)
   
    For j = 2 To UBound(sn)
      If sn(j, 2) = "" Then
        c00 = sn(j, 1)
      Else
        sp(n, 0) = c00
        sp(n, 1) = sn(j, 2)
        sp(n, 2) = sn(j + 1, 2)
        sp(n, 3) = sn(j + 2, 2)
        n = n + 1
        j = j + 2
      End If
    Next
   
    Sheet1.Cells(20, 4).Resize(n, 4) = sp
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Hallo, Danke für die Rückmeldungen.
Werde mich mal an die liste geben und mich dann zurück melden.

Danke euch
Antworten Top
#8
Hallo,

ein weiterer Vorschlag, mit einer einzigen Formel in D6, die voraussetzt, dass die entsprechenden Funktionen in Excel auch vorhanden sind ...

PHP-Code:
=LET(Daten;$A$5:$B$21;Felder;$D$5:$G$5;
 vnRows;MAX(HÄUFIGKEIT(WENNFEHLER(VERGLEICH(INDEX(Daten;0;1);Felder;0);1);SEQUENZ(SPALTEN(Felder))));
 vnKeys;LET(N;WENNFEHLER(VERGLEICH(INDEX(Daten;0;1);Felder;0);1);P;MATRIXERSTELLEN(ZEILEN(Daten);1;
        LAMBDA(X;Y;SUMME(ÜBERNEHMEN(MATRIXERSTELLEN(ZEILEN(Daten);1;LAMBDA(X;Y;WENN(X>1;WENN(INDEX(N;X;1)=1;1;
        WENN((INDEX(N;X;1)=2)*(INDEX(N;X-1;1)>1);1;0));1)));X;1))));N&"-"&P);
 MATRIXERSTELLEN(vnRows;SPALTEN(Felder);LAMBDA(X;Y;LET(Z;WENNFEHLER(XVERGLEICH(Y&"-"&X;vnKeys;-1);0);WENN(Z>0;INDEX(Daten;Z;WENN(Y>1;2;1));""))))) 


.xlsx   Testdaten-Fredberg.xlsx (Größe: 11,93 KB / Downloads: 3)

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 2 Nutzer sagen Danke an maninweb für diesen Beitrag:
  • schauan, PIVPQ
Antworten Top


Gehe zu:


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