Herbers Excel-Forum - das Archiv
Werte in Matrix nach Reihenfolge in eine Spalte
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
Betrifft: gibt es dazu keine Lösung?
von: Thomas
Geschrieben am: 23.03.2005 14:13:47
???
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
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
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 |
| A | B | C | D | E | 126 | | | | | | 127 | 1 | 2 | 3 | 4 | 1 | 128 | 5 | 6 | 7 | 8 | 2 | 129 | 9 | 10 | 11 | 12 | 3 | 130 | 13 | 14 | 15 | 16 | 4 | 131 | 17 | 18 | 19 | 20 | 5 | 132 | 21 | 22 | 23 | 24 | 6 | 133 | 25 | 26 | 27 | 28 | 7 | 134 | 29 | 30 | 31 | 32 | 8 | 135 | | | | | 9 | 136 | | | | | 10 | 137 | Formel 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
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