5.3k Aufrufe
Gefragt in Tabellenkalkulation von
Liebe Leute,

wie sollte es anders sein, ich brauche eine Lösung für meine Excel -Tabelle.

Situation:
Sobald ich doppelte Werte in Spalte M habe, sollen die assozierten Texte aus Spalte P in Spalte O zusammengeführt werden.

Zum Beispiel:
M1: 1 P1: text1 O1: text1/text4
M2: 2 P2: text2 O2: text2
M3: 3 P3: text3 O3: text3
M4: 1 P4: text4 O4: (leer, weil doppelt)

Gibt es da eine Lösung ohne Makros oder VBA?
Vielen Dank für euren Support,
phloxx

15 Antworten

0 Punkte
Beantwortet von rudi4ad Mitglied (167 Punkte)
Hallo phloxx, ich bin mir noch nicht ganz sicher, ob ich schon fertig bin, kann aber nicht gleich weiter 'puzzlen'. Deshalb hier die bish.Version zum testen:
Function Sammler(Mbereich As Range, Pbereich As Range, Index As Range) As String
Dim i
Dim S As String
Dim R As Range
For i = 1 To Mbereich.Count ' In Mbereich
If Mbereich(i).Row < Index.Row And Mbereich(i).Value = Index.Value Then
Sammler = ""
Exit Function
Else
If Mbereich(i).Value = Index.Value Then
S = S & "/" & Pbereich(i).Value
End If
End If
Next
Sammler = S
End Function

Im VBA-Editor Modul einfügen und die Funktion hinein kopieren
In Excel findest du sie dann unter benutzerdef. Funktionen
für O1 würde sie dann so aussehen:
=Sammler($M$1:$M$9;$P$1:$P$9;M1)
Gruß
Rudi
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo phloxx,

Leider funktioniert die Formel selbst durch Ersetzen des Wertes mit 1100 ab Zeile 99 nicht.


....das kann auch nicht funktionieren!

Natürlich musst Du die Formeländerung bereits in Zeile 1 vornehmen und die Formel dann erneut nach unten ziehen.

Gruß
Rainer
0 Punkte
Beantwortet von
Lieber Rudi,

ich habe das Makro ausprobiert -vielen Dank für die Bereitstellung. Im MBereich gibt er mir die Fehlermeldung #Wert! im Feld M1 raus, obwohl ich den Feldbereich ab M2-MEnde ausgewählt habe.
Mit 'Index' meinst du sicherlich den oben angegebenen O-Bereicht, oder?

Ich bin leider nicht sehr versiert, würde mich dennoch sehr über weitere Hilfe freuen.
phloxx
0 Punkte
Beantwortet von rudi4ad Mitglied (167 Punkte)
Hallo phloxx,

In Antwort 5 , dein Beispieltabellenaufbau, fängt in M1 an.
Deshalb habe ich dir die Formel für O1 aufgeschrieben.
=Sammler($M$1:$M$1100;$P$1:$P$1100;M1)
diese Formel ziehst du nach unten (den viereckigen Punkt am unteren rechten Rand der Zellmarkierung mit der Maus anfassen und ziehen.
Excel passt die Formeln automatisch an.
Für O2 lautet sie dann:
=Sammler($M$1:$M$1100;$P$1:$P$1100;M2)
und soweiter
jetzt alles chlor?

Gruß
Rudi
0 Punkte
Beantwortet von rudi4ad Mitglied (167 Punkte)
Guten Morgen phloxx, etwas überarbeitet:

Function Sammler(Mbereich As Range, Pbereich As Range, Index As Range) As String
Dim i As Long
Dim S As String
For i = 1 To Mbereich.Count
If Mbereich(i).Row < Index.Row And Mbereich(i).Value = Index.Value Then
Sammler = ""
Exit Function
Else
If Mbereich(i).Value = Index.Value Then
S = S & "/" & Pbereich(i).Value
End If
End If
Next
Sammler = Right(S, Len(S) - 1)
End Function


Gruß
Rudi
...