Excel: Zwei Zeichenfolgen auf Unterschied vergleichen?
Gibt es eine Formel, um in zwei Zeichenfolgen den Unterschied angezeigt zu bekommen?
Mir geht es nicht darum zu wissen, ob sie unterschiedlich sind, sondern ich müsste wissen, wo.
Beispiel:
Spalte A: 123456
Spalte B: 123446
Am besten wäre es, wenn Excel entweder die "falsche" 4 makieren würde oder mir in einer neuen Spalte die Position des falschen Zeichen ausspucken könnte, in dem Fall "5".
2 Antworten
So könnte es klappen.
=SUMMENPRODUKT(((TEIL(Zahl1;ZEILE(A1:A20);1)<>TEIL(Zahl2;ZEILE(A1:A20);1))+0)*ZEILE(A1:A20))
Bei mehreren Unterschieden muss man sich mit MIN, MAX oder KKLEINSTE für einen entscheiden.
SUMMENPRODUKT hat den Vorteil, dass die Formel nicht als Matrixformel eingegeben werden muss, aber den Nachteil, dass sie falsche Werte bei mehreren Treffern liefert.
Ist die Wortlänge größer als 20, muss auch dies angepasst werden.
Du musst in meiner Formel Zahl1 durch $D$2 und Zahl2 durch $E$2 ersetzen.
ZEILE verwendet man in Matrixformeln meistens, um ein Schleifeninkrement zu simulieren.
Danke!
Und der hinteren Bezug (*zeile([...]))? Habe ein bisschen was rumprobiert (D2,E2, D2:E20...), aber Excel spuckt mir den Fehlercode: #NAME? aus...
Ich misch mich mal kurz ein. SO sollte es bei Dir aussehen:
=SUMMENPRODUKT(((TEIL(D2;ZEILE($A$1:$A$20);1)<>TEIL(E2;ZEILE($A$1:$A$20);1))+0)*ZEILE($A$1:$A$20))
Das A1:A20 ist kein Bereich, sondern eine Zählvariable. Die $ sorgen dafür, dass die beim runterkopieren so erhalten bleibt.
Danke!
Ich bekomme jetzt ein Ergebnis ("102": die 2. und 16. Stelle von 16 sind unterschiedlich), das mir allerdings nichts bringt oder nichts sagt...
Habe es mittlerweile anders gelöst...
Mit VBA kann man vieles machen, aber viele User können nichts mit VBA machen.
Mit einem Flugzeug kommst du schnell um die halbe Welt, aber selbst fliegen kann nicht jeder.
Deswegen suche ich immer zu allererst eine Lösung mit Excel-Boardmitteln ohne VBA.
z.B. so
im Beispiel wird die vorletzte und letzte - nicht übereinstimmende Zahl - zur Zahl in Spalte A genannt.
=WENN(TEIL(A1;1;1)=TEIL(B1;1;1);"";TEIL(A1;1;1))&WENN(TEIL(A1;2;1)=TEIL(B1;2;1);"";TEIL(A1;2;1))&WENN(TEIL(A1;3;1)=TEIL(B1;3;1);"";TEIL(A1;3;1))&WENN(TEIL(A1;4;1)=TEIL(B1;4;1);"";TEIL(A1;4;1))&WENN(TEIL(A1;5;1)=TEIL(B1;5;1);"";TEIL(A1;5;1))
... bei Bedarf die Formel erweitern
Ergänzung:
Wenn Du die "" (blank) durch "x" oder durch ein anderes Zeichen ersetzt, kannst Du die Stelle der Differenz sehen
Vielen Dank!
Es sind 16/17 stellig Alphanumerische Zeichenfolgen.
So funktioniert irgendetwas allerdings nicht und ich mein Wissen ist (hoffentlich noch) nicht gut genug, um die notwendige Anpassung selbst zu machen...
Diese Alphanumerischen Zahlenfolgen stehen in D2:D12 und E2:E12. Es soll jeweils D mit E abgeglichen werden (bspw. D2 mit E2, auch wirklich nur 2 Zellen und kein Bereich). Wenn ich in deiner Formel A mit D ersetzte, fehlt der E Bezug? Und sind es dann immer noch "zeilen" oder müsste dann ein "Spalten" Befehl hin?
Oder bezieht sich das A1:A20 auf die Wortlänge und es funktioniert nur, wenn die Zeichenfolge in mehreren Spalten verteilt steht (also pro Zeichen eine Spalte)?
Sorry, für die ganzen Fragen, ich lerne und versuche es auch etwas zu verstehen!