Werte in Matrix nach Reihenfolge in eine Spalte

Bild

Betrifft: Werte in Matrix nach Reihenfolge in eine Spalte
von: Thomas
Geschrieben am: 23.03.2005 12:12:36
Guten morgen,
momentan sitze ich an einem Proplem, welches offenbar nur mit einer Matrixformel gelöst werden kann. Leider ist das nicht meine Stärke :-/
Es geht um eine Matrix, die nur aus Zahlen besteht. Es sollen diese Werte nur in einer Spalte untereinander aufgelistet werden. Nach einer festgelegten Reihenfolge (siehe Bild) soll die erste Zeile von links nach rechts aufgelistet werden, wobei Leerzellen nicht mit aufgeführt werden sollen. Danach soll die nächste Zeile wieder von links nach rechts in eine Spalte untereinander aufgeführt werden.
Wer kann mir dabei helfen?
Gruß
Thomas
Userbild

Bild

Betrifft: gibt es dazu keine Lösung?
von: Thomas
Geschrieben am: 23.03.2005 14:13:47
???
Bild

Betrifft: AW: gibt es dazu keine Lösung?
von: Andi
Geschrieben am: 23.03.2005 16:20:19
Hi,
vielleicht war das Problem, dass Du nach ner Matrix-Formel gefragt hast... viele, die hier hin- und wieder antworten, lesen dann gleich gar nicht weiter.
Ich hab Deine Aufgabe mal so gelöst:

Sub Matrix_in_Spalte()
Dim zeile As Integer
Dim spalte As Integer
Dim ziel_zeile As Integer
ziel_zeile = 6
For zeile = 1 To 4
  For spalte = 1 To Cells(zeile, 256).End(xlToLeft).Column
    If Cells(zeile, spalte).Value <> "" Then
      Cells(ziel_zeile, 1).Value = Cells(zeile, spalte).Value
      ziel_zeile = ziel_zeile + 1
    End If
  Next spalte
Next zeile
End Sub

In dem Beispiel hat die Matrix jetzt nur 4 Zeilen, die Auflistung in einer Spalte beginnt ab Zeile 6. Das müsste natürlich noch angepasst werden.
Schönen Gruß,
Andi
Bild

Betrifft: AW: Werte in Matrix nach Reihenfolge in eine Spalte
von: Martin Beck
Geschrieben am: 23.03.2005 16:22:14
Hallo Thomas,
dir Formelcracks werden villeicht auch noch eine Lösung posten, per Makro ginge es für Dein Beispiel so:

Sub umordnen()
'zuerst relevanten Bereich markieren, dann Makro starten
z = 9 'Startzeile festlegen
For Each c In Selection
    If Not IsEmpty(c) Then
        Cells(z, 1) = c
        z = z + 1
    End If
Next
End Sub

Gruß
Martin Beck
Bild

Betrifft: AW: Werte in Matrix nach Reihenfolge in eine Spalte
von: HermannZ
Geschrieben am: 23.03.2005 17:23:15
Hallo Thomas,
und nun das ganze als Formellösung;
Beispiel;
Doppelt
 ABCDE
126     
12712341
12856782
12991011123
130131415164
131171819205
132212223246
133252627287
134293031328
135    9
136    10
137Formel herunterkopieren   11
138    12
139    13
140    14
141    15
142    16
143    17
144    18
145    19
146    20
147    21
148    22
149    23
150    24
151    25
152    26
153    27
154    28
155    29
156    30
157    31
158    32
Formeln der Tabelle
E127 : {=WENN(INDEX(A:D;(ZEILE()-127)/4+127;REST(ZEILE()-1;4)+1)=0;"";INDEX(A:D;(ZEILE()-127)/4+127;REST(ZEILE()-3;4)+1))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  

Gruß hermann
Bild

Betrifft: Danke
von: Thomas
Geschrieben am: 23.03.2005 18:48:49
Vielen Dank für Eure Hilfe. Die Umsetzung als VBA und als Formel funktioniert einwandfrei. Ihr habt mir damit sehr geholfen.
Gruß
Thomas
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Werte in Matrix nach Reihenfolge in eine Spalte"