Hallo,
ich komme hier einfach nicht weiter.
Es geht darum alle Werte aus zwei Spalten abzuziehen und in einer dritten Spalte bereinigt anzeigen zu lassen. Es handelt sich nicht um Zahlen sondern um Textewerte.
Bsp:
Spalte A | Max Mustermann;Stefan Sieger; Bernd Schneider; Max Mustermann
Spalte B | Max Mustermann; Bernd Schneider
Ergebnis in Spalte C | Stefan Sieger; Max Mustermann
Hat von euch jemand eine Idee wie man dies lösen kann?
EDIT (noch mal anders dargestellt):
Spalte A
Max Mustermann
Stefan Sieger
Bernd Schneider
Max Mustermann
Spalte B
Max Mustermann
Bernd Schneider
Ergebnis in
Spalte C
Stefan Sieger
Max Mustermann
Das ginge mit meiner vorgeschlagenen Funktion GESCHACHTELTWECHSELN(), die es aber noch nicht gibt.
C1: =WECHSELN(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN(
WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;
GLÄTTEN(TEIL(WECHSELN(B1;";";WIEDERHOLEN(" ";299));0001;299)););
GLÄTTEN(TEIL(WECHSELN(B1;";";WIEDERHOLEN(" ";299));0300;299)););
GLÄTTEN(TEIL(WECHSELN(B1;";";WIEDERHOLEN(" ";299));0599;299)););
GLÄTTEN(TEIL(WECHSELN(B1;";";WIEDERHOLEN(" ";299));0898;299)););
GLÄTTEN(TEIL(WECHSELN(B1;";";WIEDERHOLEN(" ";299));1197;299)););
" ";"#");";";" "));" ";";");"#";" ")
erlaubt 5 Rauszüge (gelistet in B1)
A1: Du; kannst; mir mal; das Wasser; reichen; und; die Füße; waschen
B1: kannst; das Wasser; reichen; und; waschen
C1: Du; mir mal; die Füße
Was ist denn Google für eine Excelversion?
Google Spreadsheets, ist aber funktional sehr ähnlich wie MS Excel.
Hallo,
mit VBA könnte das so gehen:
Code:
Sub F_en()
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
spb = Split(Cells(i, 2), ",")
spa = Cells(i, 1)
For it = 0 To UBound(spb)
spa = Replace(spa, spb(it), "", , 1, vbTextCompare)
Next it
If Left(spa, 2) = ", " Then spa = Mid(spa, 3)
Cells(i, 3) = Replace(spa, ",,", ",")
Next i
End Sub
mfg
_______________________________
MS, nicht Google
Vielleicht hätte ich mein Bsp anders schreiben sollen:
Spalte A
Max Mustermann
Stefan Sieger
Bernd Schneider
Max Mustermann
Spalte B
Max Mustermann
Bernd Schneider
Ergebnis in
Spalte C
Stefan Sieger
Max Mustermann
C1: =FILTER(A1:A4;ISTFEHLER(SVERWEIS(A1:A4;B1:B2;1;)))
Max Mustermann wird allerdings beide Male entfernt! Soll er das nicht? Dann:
C1: =FILTER(A1:A4;ISTFEHLER(SVERWEIS(
A1:A4&ZÄHLENWENN(BEREICH.VERSCHIEBEN(A1;;;SEQUENZ(4));INDEX(A1:A4;SEQUENZ(4)));
B1:B2&ZÄHLENWENN(BEREICH.VERSCHIEBEN(B1;;;SEQUENZ(2));INDEX(B1:B4;SEQUENZ(2)));1;)))
Nein, das soll er eben nicht, es soll quasi nur subtrahiert werden. Sprich wenn der doppelt in A ist und gar nicht in B vorkommt, soll er in C auch doppelt erscheinen.
C1:
=FILTER(A1:INDEX(A:A;ANZAHL2(A:A));ISTFEHLER(SVERWEIS(
A1:INDEX(A:A;ANZAHL2(A:A))&ZÄHLENWENN(BEREICH.VERSCHIEBEN(A1;;;SEQUENZ(ANZAHL2(A:A)));INDEX(A:A;SEQUENZ(ANZAHL2(A:A))));
B1:INDEX(B:B;ANZAHL2(B:B))&ZÄHLENWENN(BEREICH.VERSCHIEBEN(B1;;;SEQUENZ(ANZAHL2(B:B)));INDEX(B:B;SEQUENZ(ANZAHL2(B:B))));1;)))
zum freien Befüllen ab A1 und B1 und automatischer Anpassung der Bereiche. Das ZÄHLENWENN ist
igittigitt!
In
https://office.live.com/start/Excel.aspx erfolgreich angewendet (kostenlos für jeden!).
GDocs läuft auch,
beherrscht aber nicht das mit den Duplikaten: Fliegt keiner raus, bleiben alle drin (=ok); fliegt jedoch einer raus, werden auch die anderen nicht mehr gelistet (=nicht ok). Da muss noch mal jemand ran. Habe mich versucht, aber GDocs übersetzt noch nicht einmal von selbst SEQUENZ in SEQUENCE, und es funktioniert auch beim FILTER möglicherweise anders, als MS.
Ja so in etwa hatte ich das schon:
=WENNFEHLER(FILTER(A:A;ISTNV(VERGLEICH($A:$A;$B:$B;0))))
Leider zeigt es mir da die Dubletten auch nicht an.