Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten (merkmalsabhängig) zusammenführen

Daten (merkmalsabhängig) zusammenführen
15.04.2013 16:33:07
Wolfango
Hallo Experten,
folgender Wunsch:
Im Bereich A2:A100 stehen Personennamen,
Im Bereich B2:B100 steht bei einigen dieser Namen ein X um diese zu kennzeichnen.
In Zelle B1 (also über den X-Eintragungen) hätte ich nun gerne eine Formel, die mir alle Namen hintereinandersetzt, die mit einem X gekennzeichnet sind (Müller, Meier, Schmitz, usw. Alle in der gleichen Zelle)
Ich denke das muss irgendwie gehen...ich komme aber nicht darauf....
Vielen Dank und Gruß,
Wo

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten (merkmalsabhängig) zusammenführen
15.04.2013 17:37:20
Oberschlumpf
Hi Wolfang
Muss es eine Formel sein, oder geht auch ne VBA-Lösung?
Ciao
Thorsten

AW: Daten (merkmalsabhängig) zusammenführen
15.04.2013 19:16:36
Wolfgangs
Ja, für meinen Verwendungszweck kommt nur eine Formel in Frage.
Ist das irgendwie lösbar? Danke, Wo

ich weiß nix
15.04.2013 19:36:25
Oberschlumpf
bitte Hallo nich vergessen
Sorry, ne Formel fällt mir dazu nich ein. Mit VBA wär das kein Problem.
Ciao
Thorsten

AW: ich weiß nix
15.04.2013 21:16:29
Wolfgangs
Danke!
Sonst noch jemand eine Idee?
Gruß,
Wo

AW: ich weiß nicht WOZU?
15.04.2013 22:28:31
silex1
Hallo,
wozu wird sowas immer wieder benötig?
Mit VBA ist es einfacher wie mit Formeln. Mittels Formeln geht es nur mit einer Hilfsspalte.
Kannst ja mal ne anonymisierte Bsp.-Datei posten
VG René

Anzeige
AW: Daten (merkmalsabhängig) zusammenführen
16.04.2013 08:34:52
Klaus
Hi,
in C2 (Hilfsspalte) die Formel:
=C1&(WENN(B2="x";A2&",";""))
C1 bleibt LEER!
In B1 schreibst du:
=C100
Ohne Hilfsspalte nur per VBA, wie die anderen hier schon schrieben.
Ich habe die o.g. Formel nicht auf Limits getestet. Bei 200 Zeilen kann es sein, dass du mehr Text fabrizierst als in die Zelle passt.
Grüße,
Klaus M.vdT.

Alternative: UDF
16.04.2013 10:15:01
Klaus
Hi,
eine flexible Alternative:
B1: =NamenMitX(1;B2:B200;"x")
dazu die UDF:
Function NamenMitX(SpalteNamenNummer, RangeX, sBedingung)
Dim r As Range
For Each r In RangeX
If r.Value = sBedingung Then
NamenMitX = NamenMitX & Cells(r.Row, SpalteNamenNummer).Value & " "
End If
Next r
End Function
Grüße,
Klaus M.vdT.

Anzeige
AW: Alternative: UDF
16.04.2013 11:02:50
Wolfango
...das ist ja völlig genial! Funktioniert bestens und benötigt keine Hilfsspalten!
Ich denke so mach' ich's!
Gibt es eine Möglichkeit die Formel/den Code so anzupassen, dass Kommata zwischen die Namen gesetzt werden?
Danke und Gruß,
Wo

AW: Alternative: UDF
16.04.2013 11:05:52
Wolfango
...habe es selbst hinbekommen!
(mit ein bischen Nachdenken geht das ja auch ohne VBA-Kenntnisse)
Vielen Dank noch mal an alle!!

ähhhhh?
16.04.2013 11:09:21
Oberschlumpf
Hi Wolfang
Ich fragte dich, ob es eine Formel sein muss, oder ob VBA auch helfen würde.
Deine Antwort:
Ja, für meinen Verwendungszweck kommt nur eine Formel in Frage.
Das, was DU jetzt mit ...das ist ja völlig genial! betitelst, IST VBA und hättest du schon längst von mir haben können.
Nu ja, ...nur nich wundern... sag ich gerade zu mir selbst.
Ciao
Thorsten

Anzeige
AW: ähhhhh?
16.04.2013 11:21:51
Wolfango
Vielmals Pardon!
Das liegt an meinem mangelndem Vorstellungsvermögen bzgl. VBA-Codes!
Ich ging davon aus, dass
1. diese dann immer manuell angetriggert werden müssen
2. ein Übertragen/Anpassen auf weitere Spalten aufwendig (und für denjenigen für den ich das brauche) nicht möglich ist.
Das so ein Code auch zu einer benutzerdefinierten Funktion führen kann war mir nicht klar!
(...und ich bin froh, dass ich es auf Anhieb hinbekommen habe. Habe den Code (ohne ihn wirklich zu verstehen) in ein Modul kopiert und schon hatte ich die Funktion die ich brauche!)
Und wieder einiges dazugelernt!
Danke nochmal!
Gruß,
Wo

Anzeige
AW: Alternative: UDF
16.04.2013 11:18:32
Klaus
Hi Wo,
schön dass du das Komma selbst hinbekommen hast ;-)
Wenn du eh die UDF nimmst, kannst du das sogar noch flexibler machen und das Komma, Komma-Leerzeichen oder wasimmer du als Trenner willst, mit einbauen:
B1: =NamenMitX(1;B2:B200;"x";", ")
Function NamenMitX(SpalteNamenNummer, RangeX, sBedingung, sTrenner)
Dim r As Range
For Each r In RangeX
If r.Value = sBedingung Then
NamenMitX = NamenMitX & Cells(r.Row, SpalteNamenNummer).Value & sTrenner
End If
Next r
End Function
Thorsten hat allerdings völlig recht mit seinem Einwand, dass ein einfaches "VBA tuts auch" am Anfang des Beitrages hier viel Helferzeit eingespart hätte. So waren jetzt einige viele Leute sinnlos am Formellösung-Basteln, in der Zeit hätten wir auch jemandem anders helfen können.
Grüße,
Klaus M.vdT.

Anzeige
AW: Alternative: UDF
16.04.2013 11:24:21
Wolfango
...wie schon in der anderen Antwort erläutert: mangelndes Vorstellungsvermögen (bzw. auch falsche Vorstellung) bzgl. VBA...habe ja nun dazu gelernt!

AW: Daten (merkmalsabhängig) zusammenführen
16.04.2013 10:59:44
Wolfango
...gerade getestet!
Etwas aufwendig aber funktioniert einwandfrei!
Dankeschön!

Danke für die RÜ! (mit Text)
16.04.2013 11:02:24
Klaus
Hallo Wolfango,
wenn du keine aufwendigen Hilfsspalten willst, nimmst du halt die VBA-Lösung. Aber entweder-oder, Excel ist kein Ponyhof :-)
Grüße,
Klaus M.vdT.

AW: Daten (merkmalsabhängig) zusammenführen
16.04.2013 09:58:44
fcs
Hallo Wolfgang,
hier eine Alternative zum Vorschlag von Klaus. Diese macht ggf. Sinn, wenn in einer langen Liste immer nur wenige Namen angekreuzt werden.
Gruß
Franz
Beispiel mit Daten+berechneten Werten
Name	Name02 Name05 Name10
Name01			Hilfs-	Berechnung
Name02	x		3	Name02
Name03			6	Name02 Name05
Name04			11	Name02 Name05 Name10
Name05	x		9999	Name02 Name05 Name10
Name06			9999	Name02 Name05 Name10
Name07
Name08
Name09
Name10	x
Name11

zugehörigen Formeln
B1: =E7
D3: =KKLEINSTE(WENN($B$2:$B$100="x";ZEILE($B$2:$B$100);9999);ZEILE(A1))
E3: =WENN(D3=9999;"";INDEX($A:$A;D3;1))
D4: =KKLEINSTE(WENN($B$2:$B$100="x";ZEILE($B$2:$B$100);9999);ZEILE(A2))
E4: =E3& WENN(D4=9999;"";" "&INDEX($A:$A;D4;1))
D5: =KKLEINSTE(WENN($B$2:$B$100="x";ZEILE($B$2:$B$100);9999);ZEILE(A3))
E5: =E4& WENN(D5=9999;"";" "&INDEX($A:$A;D5;1))
D6: =KKLEINSTE(WENN($B$2:$B$100="x";ZEILE($B$2:$B$100);9999);ZEILE(A4))
E6: =E5& WENN(D6=9999;"";" "&INDEX($A:$A;D6;1))
D7: =KKLEINSTE(WENN($B$2:$B$100="x";ZEILE($B$2:$B$100);9999);ZEILE(A5))
E7: =E6& WENN(D7=9999;"";" "&INDEX($A:$A;D7;1))

Die Formeln in Spalte D müssen als Matrix-Formel eingegeben werden. Eingabe mit Shift+Strg+Enter abschliessen.
Die Formel in E3 kann nach Eingabe nach unten kopiert werden, ebenso die Formel in E4.

Anzeige
AW: Daten (merkmalsabhängig) zusammenführen
16.04.2013 11:00:18
Wolfango
...muss ich mal in Ruhe ausprobieren...Danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige