HERBERS Excel-Forum - das Archiv

Thema: transponieren | Herbers Excel-Forum

transponieren
Norbert

Wie kann ich eine Liste mit Adressen, also:
Kunde Straße Ort
Kunde II Straße Ort
Kunde III Straße Ort
vertikal transponieren?
MTRANS ist mir bekannt, allerdings stehen die Adressen dann transponiert nebeneinander in Spalten;möchte die Adressen in einer Spalte untereinander stehen haben also:
Kunde
Straße
Ort
Kunde II
Straße
Ort
Kunde III
Straße
Ort
Danke für Rückantwort!

AW: transponieren
Josef

Hallo Norbert,
so.
Tabelle3

 ABC
1Kunde 1Strasse 1Ort 1
2Kunde 2Strasse 2Ort 2
3Kunde 3Strasse 3Ort 3
4   
5   
6   
7   
8   
9   
10Kunde 1  
11Strasse 1  
12Ort 1  
13Kunde 2  
14Strasse 2  
15Ort 2  
16Kunde 3  
17Strasse 3  
18Ort 3  
19   
20   
21   

Formeln der Tabelle
ZelleFormel
A10=INDIREKT(ADRESSE(GANZZAHL((ZEILE(A1)-1)/3)+1;REST(ZEILE(A1)-1;3)+1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

Per verschachtelte INDEX()-Funktion
NoNet

Hallo norbert,
so geht's (Funktion in E1 eingeben und runterkopieren) :
ABCDE
1
2
3
4
5
6
7
8
9

Funktionen im Tabellenblatt :
Zelle Formel 
E1   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E2   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E3   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E4   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E5   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E6   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E7   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E8   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 
E9   =INDEX($A$1:$C$3;GANZZAHL((ZEILE()-1)/3)+1;REST(ZEILE()-1;3)+1) 

Gruß, NoNet
AW: transponieren
Tino

Hallo,
kannst mal diesen Code testen.
Sub TransposnierenSpezial() Dim varAr(), tmpAr() Dim Bereich As Range Dim A As Long, LCount As Long 'eventuell Bereich anpassen, hier ab A2 With Sheets("Tabelle1") Set Bereich = .Range("A2", .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 3)) End With varAr = Bereich.Value2 Redim tmpAr(1 To Ubound(varAr) * 3, 1 To 1) LCount = 1 For A = 1 To Ubound(varAr) tmpAr(LCount, 1) = varAr(A, 1) tmpAr(LCount + 1, 1) = varAr(A, 2) tmpAr(LCount + 2, 1) = varAr(A, 3) LCount = LCount + 3 Next A Bereich.ClearContents Bereich.Cells(1, 1).Resize(Ubound(tmpAr)) = tmpAr End Sub Gruß Tino
AW: transponieren
Norbert

Hallo Leute ich bin vollkommen überrascht von den schnellen Antworten. Besten Dank!
funktioniert alles super; habe mich für die Makro-Lösung von Tino entschieden! Bin echt happy!