Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte untereinander zu werten nebeneinander.

Werte untereinander zu werten nebeneinander.
28.12.2008 01:18:01
astis
Hallo ich habe folgende Situation.
Ich habe eine Liste mit Daten. Diese sieht in etwa so aus:
Max Müller Blond
Max Müller 190 cm
Max Müller Beamter
Dieter Sonstwie Lehrer
Sabine Franke 165cm
Sabine Franke Krankenschwester
hierbei steht der name in Spalte 1 und die anderen Werte in Spalte 2
ziel ist es nun die die Tabelle, am besten per Makro, so umzumodeln, dass dies hierbei rauskommt
Max Müller Blond - 190 cm - Beamter
Dieter Sonstwie - Lehrer
Sabine Franke - 165cm - Krankenschwester
die Werte die also der Person zugeordnet sind sollen dann in die entsprechenden Spalten 3,4,5 etc.
Wie sollte ich die Sach am besten angehen?
Ich habe von WF schon einen guten Ansatz bekommen...
allerdings funktioniert in das was in F1 stehen soll nicht...

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
F1 hatte Hans verstümmelt
28.12.2008 01:40:36
WF
Hi astis,
Du hattest Dich nicht mehr gemeldet - jetzt bleibt's hoffentlich komplett !?
"Tilde f Tilde" fehlten vor und nach den Formeln (hier unsichtbar) und das Programm hatte nicht protestiert. Ohne das sah F1 soeben wieder genauso kastriert aus.
nix VBA und nix PIVOT: Arrays
in E1 steht =A1
in E2 steht die Arrayformel:
{=WENN(SUMME(ZÄHLENWENN(A$1:A$99;E$1:E1))>=SUMME((A$1:A$99<>"")*1);"";INDEX(A:A;VERGLEICH(1; (ZÄHLENWENN(E$1:E1;A$1:A$100)=0)*(A$1:A$100<>"");0))) }
runterkopieren
in F1 steht die Arrayformel:
{=WENN(ODER(ZÄHLENWENN($A:$A;$E1)<SPALTE(A1);$E1="");"";INDEX($B:$B;KKLEINSTE(WENN($A$1:$A$99=$E1; ZEILE($1:$99));SPALTE(A1)))) }
nach unten und nach rechts kopieren
Salut WF
Anzeige
AW: Werte untereinander zu werten nebeneinander.
28.12.2008 12:43:00
Daniel
Hi
als Makro vielleicht so:

Sub Umformen
dim ze as long
for ze = cells(rows.count,1).end(xlup) to 2 step - 1
if Cells(ze, 1) = cells(ze-1,1) then
range(cells(ze,2), cells(ze,1).end(xltoright)).copy cells(ze-1,columns.count).end( _
xltoleft).offset(0,1)
rows(ze).delete
end if
next ze
End Sub


Gruß, Daniel

@Daniel
28.12.2008 15:00:00
robert
hi daniel,
ich glaube kleiner schönheitsfehler-
nicht
for ze = cells(rows.count,1).end(xlup) to 2 step - 1
sondern
for ze = cells(rows.count,1).end(xlup).row to 2 step - 1
gruß
robert
AW: @Daniel
28.12.2008 15:26:00
Daniel
hi
ja, kann sein, danke für die Korrektur
hab grad kein Excel zum testen auf dem Rechner.
Gruß, Daniel
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige