Clever-Excel-Forum

Normale Version: Tabelle; Spalten/Zeilen ändern - aber nicht transponieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich bin neu hier im Forum.
Habe schon des öfteren mitgelesen und konnte schon viel Wissen aus euren Beiträgen beziehen.

Nun habe ich aber ein Problem, für das ich keine Lösung finden kann.

Ich habe mal ein kleines Beispiel als Grafik angehängt.
Die Ursprungstabelle soll zu der Ergebnistabelle werden.

Ich bin mir sicher, dass irgendjemand eine Lösung dafür hat.

Danke für eure Mühe und Rückmeldungen!

Gruß
b-trilogie
Hallo,

wenn Du das mit einer Datei darstellen könntest, könnte man was basteln.
Datei anbei...
Hallo,

z.B. so:


Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGHIJ
1NameOrtGrößedata1data1adata2data2adata3data3aWährung
2MaxF1,8100100a9999a101101aEUR
3FritzS1,6105105a    EUR
4KarlB1,7102102a103103a  EUR
5          
6          
7NameOrtGrößedata1data1adata2data2adata3data3aWährung
8MaxF1,8100100a    EUR
9MaxF1,89999a    EUR
10MaxF1,8101101a    EUR
11FritzS1,6105105a    EUR
12KarlB1,7102102a    EUR
13KarlB1,7103103a    EUR

ZelleFormel
A8=A2
A9=WENN(ANZAHL2(INDEX($D$2:$I$4;VERGLEICH(A8;$A$2:$A$4;0);))/2>ZÄHLENWENN($A$8:$A8;$A8);A8;INDEX($A$2:$A$4;VERGLEICH(A8;$A$2:$A$4;0)+1))
B9=SVERWEIS($A9;$A$2:$C$4;SPALTE(B$1);0)
D9=SVERWEIS($A9;$A$2:$I$4;SPALTE(B$1)+ZÄHLENWENN($A$8:$A9;$A9)*2;0)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Formeln können nach rechts und ab Zeile 9 auch nach unten kopiert werden.
Vielen Dank, Edgar!
Du hast mir damit wirklich sehr geholfen.

Gruß,
b-trilogie
In VBA:


Code:
Sub M_snb()
   sn = Sheet1.Cells(1).CurrentRegion
   
   With CreateObject("scripting.dictionary")
        For j = 2 To UBound(sn)
           For jj = 4 To 8 Step 2
              If sn(j, jj) <> "" Then .Item(.Count) = Array(sn(j, 1), sn(j, 2), sn(j, 3), sn(j, jj), sn(j, jj + 1), sn(j, UBound(sn, 2)))
           Next
        Next
   
        Sheet1.Cells(20, 1).Resize(.Count, 6) = Application.Index(.items, 0, 0)
    End With
End Sub