Excel: Zwei Zeichenfolgen auf Unterschied vergleichen?

2 Antworten

Von Experte Oubyi, UserMod Light bestätigt

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.


Meliary 
Beitragsersteller
 09.09.2022, 10:08

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!

Suboptimierer  09.09.2022, 10:09
@Meliary

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.

Meliary 
Beitragsersteller
 09.09.2022, 10:19
@Suboptimierer

Danke!
Und der hinteren Bezug (*zeile([...]))? Habe ein bisschen was rumprobiert (D2,E2, D2:E20...), aber Excel spuckt mir den Fehlercode: #NAME? aus...

Oubyi, UserMod Light  09.09.2022, 13:49
@Meliary

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.

Meliary 
Beitragsersteller
 09.09.2022, 14:32
@Oubyi, UserMod Light

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...

mchawk777  09.09.2022, 09:52

Oh Wow - ich wäre da glatt auf VBS ausgewichen. 😉

Suboptimierer  09.09.2022, 09:53
@mchawk777

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

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

 - (Microsoft, Formel, Microsoft Excel)  - (Microsoft, Formel, Microsoft Excel)  - (Microsoft, Formel, Microsoft Excel)