Datentabelle verarbeiten
#1
Hallo zusammen,

aktuell habe ich eine riesige Datenmenge, die es gilt zu sortieren. 

Hier ein Beispiel:


Artikelnr.   Spalte1   Spalte2   Spalte3  Spalte4
123456     Größe     Breite     110        20
456123     Größe     Höhe      120       30 
654321     Länge     Breite     15         40


Jetzt möchte ich es folgendermaßen darstellen:

Artikelnr.     Größe   Länge    Breite   Höhe
123456       110                   20 
456123       120                              30
654321                   15        40

Mit Pivottable klappt es nicht, ohne dass mir anstatt des Inhalts (Beispiel 110) ein Wert, bzw. Summe ausgegeben wird.

Hat jemand eine Idee, wie es anders klappen kann?

Danke
Antworten Top
#2
Hallo,

teste mal mit:

Code:
Sub F_en()
Dim di, Ar, y As Integer

di = Array("Artikelnr.", "Größe", "Länge", "Breite", "Höhe")
lr = Cells(Rows.Count, 1).End(xlUp).Row

ReDim Ar(lr, 5)

For i = 2 To lr
    Ar(i, 1) = Cells(i, 1)
    y = Application.Match(Cells(i, 2), di, 0)
    If Not IsError(y) Then
        Ar(i, y) = Cells(i, 4)
    End If
    y = Application.Match(Cells(i, 3), di, 0)
    If Not IsError(y) Then
        Ar(i, y) = Cells(i, 5)
    End If
Next i

Cells(1, 8).Resize(, 5) = di
Cells(2, 7).Resize(lr + 1, 6) = Ar
End Sub

mfg
Antworten Top
#3
Hallo,

mit einfachen Formeln.


Angehängte Dateien
.xlsx   Filter (2).xlsx (Größe: 10,31 KB / Downloads: 8)
Gastlich
Antworten Top
#4
Hallo,

über ein dynamisches Array berechnen ...

PHP-Code:
G1=LET(Daten;$A$2:$E$4;Eigenschaften;{"Größe"."Länge"."Breite"."Höhe"};N;ZEILEN(Daten);
   M;MATRIXERSTELLEN(2*N;2;LAMBDA(X;Y;LET(Z;WENN(REST(X;N)>0;REST(X;N);N);WAHL(Y;INDEX(Daten;Z;1)&"-"&Z&"-"&
   WENNFEHLER(VERGLEICH(INDEX(Daten;Z;2+(X>N));Eigenschaften;0);0);INDEX(Daten;Z;4+(X>N))))));
   MATRIXERSTELLEN(N;SPALTEN(Eigenschaften)+1;LAMBDA(X;Y;LET(A;INDEX(Daten;X;1);WENN(Y>1;
   WENNFEHLER(INDEX(M;VERGLEICH(A&"-"&X&"-"&(Y-1);INDEX(M;0;1);0);2);"");A))))) 

Allerdings dann schon eine kompliziertere Formel als die Lösung von Gastlich.

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
Antworten Top
#5
Hallo,

tolle Formel.

Die Spalte H wird allerdings bei mir nicht angezeigt.
Gastlich
Antworten Top
#6
Hallo,

habe hier mal die Datei hochgeladen.

.xlsx   Kidnic.xlsx (Größe: 11,4 KB / Downloads: 7)

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
Antworten Top
#7
Hallo miteinander,

erstmal vielen lieben Dank, dass ihr so zahlreich antwortet. Es sind definitiv Lösungen, was mich sehr froh stimmt.

Allerdings habe ich eine Prämisse vergessen zu posten- mein Fehler.

Wie verhält es sich, wenn die Eigenschaft in mehreren Spalten auftaucht:

Artikelnr.   Spalte 1    Spalte 2   Spalte 3   Spalte 4
123456     Größe       Länge      10           40
654321     Breite       Höhe        20          50
342561     Höhe        Breite       30          60


Bitte entschuldigt, dass ich das vorhin nicht berücksichtigt habe

Vielen lieben Dank nochmal an alle, die sich bisher ins Thema reingehangen haben und noch reinhängen werden.

MfG
Antworten Top
#8
Hallo,

die LET() Formel funktioniert immer noch.


Angehängte Dateien
.xlsx   Filter (4).xlsx (Größe: 10,83 KB / Downloads: 5)
Gastlich
Antworten Top
#9
Hallo,

ebenso meine Lösung, die unabhängig von der Position der Eigenschaften diese zuordnet,
solange diese in den ersten zwei Spalten abgelegt sind.

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
Antworten Top
#10
Guten Morgen,

vielen Dank nochmal für Eure Unterstützung.

Leider übersteigt diese Formel mein Wissen und ich muss sie noch für meine Datei anpassen. Insgesamt habe ich 642 Eigenschaften. Diese werden von Spalte B bis Spalte AB beschrieben. Von Spalte AC bis Spalte BC folgen dann die Werte für die Eigenschaften. Insgesamt sind es 35031 Zeilen.

Wie muss ich das entsprechend in der Formel zum Ausdruck bringen?

Danke
Antworten Top


Gehe zu:


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