Vergleichen von Ziffern in einer Zahl in einer Excel-Zelle

Vergleichen von Ziffern in einer Zahl in einer Excel-Zelle

In einer Liste mit dreistelligen Zahlen von 000 bis 999 muss ich in der Lage sein, die Zahlen zu identifizieren, bei denen mindestens zwei Ziffern gleich sind. Können Sie mir bitte mit einer Formel helfen?
Ich habe es versucht =IF(LEFT(A98,1) = "LEFT(A98,2)"OR LEFT(A98,2) = "LEFT(A98,3)" OR LEFT(A98,1) ="LEFT(A98,3)" , "0","1"). Aber ich habe keine große Erfahrung mit Excel und es akzeptiert diese Formel nicht.

Antwort1

Das ist eigentlich gar nicht so weit weg.

Verwenden Sie MID()anstelle von LEFT(), da LEFT()zum Vergleichen alle Buchstaben und nicht nur ein einziger verwendet werden.

Entfernen Sie die unnötigen Anführungszeichen, dann sollte es funktionieren:

IF(OR(MID(A98,1,1)=MID(A98,2,1),MID(A98,1,1)=MID(A98,3,1),MID(A98,2,1)=MID(A98,3,1)),"1","0")

Stellen Sie sicher, dass Sie die Teile dessen, was ich geschrieben habe, verstehen, damit Sie es korrigieren können, wenn ich einen Tippfehler gemacht oder eine Klammer vergessen habe – ich habe hier keinen Computer zur Überprüfung und tippe auf einem Mobiltelefon.

Antwort2

Aganjus Antwort ist wahrscheinlich genau das, wonach Sie suchen. Häufig ergibt sich die Lösung eines Excel-Problems jedoch aus einer anderen Betrachtungsweise. Hier ist ein etwas anderer Ansatz mit ein paar Ideen, die Sie sich merken können.

LINKS, RECHTS, MITTE

Da alles dreistellig ist, finde ich es einfacher, mir die Ziffern folgendermaßen vorzustellen:

LEFT(A98,1)
MID(A98,2,1)
RIGHT(A98,1)

Nur persönliche Vorlieben, und hier wird dokumentiert, wie diese Funktionen verwendet werden. Das ist das äußerste linke Zeichen 1, das mittlere beginnend bei Position 2 für eine Länge von 1 und das äußerste rechte Zeichen 1.

Umgekehrtes Denken

Sie sind aus der Richtung an die Sache herangegangen, eine beliebige Kombination übereinstimmender Ziffern zu finden. Dazu ist eine Kombination aus WENN, ODER und/oder UND erforderlich. Wenn Sie es aus der anderen Richtung angehen, gibt es nur eine Bedingung, die Sie ausschließen möchten – dass alle Ziffern unterschiedlich sind. Das Testen für diesen Einzelfall kann einfacher durchgeführt werden.

Boolesche Arithmetik

Ich kombiniere das mit einem anderen Trick. Sie suchen nach einem 1oder 0-Ergebnis, also denken Sie bereits in Begriffen, die wahr und falsch darstellen. Sie können einige mathematische Eigenschaften von 0und verwenden 1:

  • Null mal irgendetwas ist Null
  • die Multiplikation einer Reihe von Nullen ergibt Null
  • die Multiplikation mehrerer Einsen ergibt eins
  • Das Produkt einer Reihe von Nullen und Einsen kann nur dann eine Eins ergeben, wenn sie alle Einsen sind.

Etwas zusammensetzen

Excel behandelt trueund falseals 1und 0. Ohne IF, AND oder OR können Sie also Folgendes verwenden:

= (LEFT(A98,1)<>MID(A98,2,1)) * (LEFT(A98,1)<>RIGHT(A98,1)) * (MID(A98,2,1)<>RIGHT(A98,1))

Dies ergibt 1, wenn alle Ziffern unterschiedlich sind und 0wenn eine beliebige Kombination gleich ist. Das unterscheidet die Dinge. Wenn Sie jedoch der Meinung sind, dass es umgekehrt sein sollte, wie Sie in der Frage beschrieben haben, können Sie es umkehren, indem Sie 1diese Formel abziehen:

= 1 - (LEFT(A98,1)<>MID(A98,2,1)) * (LEFT(A98,1)<>RIGHT(A98,1)) * (MID(A98,2,1)<>RIGHT(A98,1))

Und beachten Sie, dass die 0„oder 1“-Werte direkt durch die logischen Tests erzeugt werden; es war nicht notwendig, diese Werte dem Ergebnis basierend auf der Auswertung der Bedingungen zuzuweisen.

Antwort3

Hier ist eine weitere, leicht abgewandelte Methode, bei der @fixer1234s LEFT MID& RIGHTund die Idee der Multiplikation mit Null verwendet werden:

=IF((LEFT(A99,1)-MID(A99,2,1)) * (LEFT(A99,1)-RIGHT(A99,1)) * (MID(A99,2,1)-RIGHT(A99,1))=0,1,0)

Wenn eines der Paare gleich ist, ist das Ergebnis der Multiplikation Null und das Ergebnis der IFMultiplikation 1.

verwandte Informationen