wake-up-neo.net

Bedingte Formatierungszellen, wenn ihr Wert einem ANY-Wert einer anderen Spalte entspricht

Ich habe Daten in der Spalte A und B. Die Daten der Spalte B sind meistens Duplikate der Daten von A, jedoch nicht immer. Zum Beispiel:

A
Budapest
Prague
Paris
Bukarest
Moscow
Rome
New York

B
Budapest
Prague
Los Angeles
Bukarest

Ich muss die Spalte A durchsuchen, wenn die Werte in B dort vorhanden sind. Wenn eine Zeile übereinstimmt, muss ich die Hintergrundfarbe der Zeile in A in rot oder etwas ändern.

Welche Funktion muss ich verwenden und wie?

Sorry, ich bin ein Neuling in Excel.

15
PeterInvincible

Hier ist die Formel

erstellen Sie eine neue Regel für die bedingte Formatierung anhand einer Formel. Verwenden Sie die folgende Formel und wenden Sie sie auf $ A an: $ A

=NOT(ISERROR(MATCH(A1,$B$1:$B$1000,0)))


enter image description here

hier ist das Beispielblatt zum Herunterladen, falls Sie Probleme haben


UPDATE
Hier ist der Vorschlag von @pnuts, der ebenfalls perfekt funktioniert:

=MATCH(A1,B:B,0)>0


30
Marcel

Keine Formeln erforderlich. Dies funktioniert für beliebig viele Spalten, jedoch werden nur Spalten in demselben Arbeitsblatt verglichen:

  1. Wählen Sie die zu vergleichenden Spalten aus
  2. klicken Sie auf Bedingte Formatierung
  3. klicken Sie auf Zellenregeln hervorheben
  4. klicken Sie auf "Werte duplizieren" (die Standardeinstellungen sollten OK sein).
  5. Duplikate werden jetzt rot hervorgehoben

    • Bonus-Tipp: Sie können jede Zeile nach Farbe filtern, um entweder die eindeutigen Werte in der Spalte oder nur die Duplikate zu belassen.
4
KERR

Eine andere einfachere Lösung besteht darin, diese Formel in der bedingten Formatierung zu verwenden (gilt für Spalte A):

=COUNTIF(B:B,A1)

Grüße!

3
async3

Alles, was Sie dafür tun müssen, ist eine einfache Schleife.
Dies ist nicht für Tests geeignet, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird. Wenn dies nicht genau das ist, wonach Sie suchen, kommentieren Sie, und ich kann es überprüfen.

Wenn Sie planen, VBA zu lernen. Das ist ein toller Start.

GEPRÜFT:

Sub MatchAndColor()

Dim lastRow As Long
Dim sheetName As String

    sheetName = "Sheet1"            'Insert your sheet name here
    lastRow = Sheets(sheetName).Range("A" & Rows.Count).End(xlUp).Row

    For lRow = 2 To lastRow         'Loop through all rows

        If Sheets(sheetName).Cells(lRow, "A") = Sheets(sheetName).Cells(lRow, "B") Then
            Sheets(sheetName).Cells(lRow, "A").Interior.ColorIndex = 3  'Set Color to RED
        End If

    Next lRow

End Sub

EXAMPLE

3
peege

Ich habe mir das angesehen und fand den Ansatz von peege mit einer for-Schleife toll! (weil ich gerade VBA lerne)

Wenn Sie jedoch versuchen, einen beliebigen Wert einer anderen Spalte abzugleichen, verwenden Sie geschachtelte Schleifen wie die folgenden.

Sub MatchAndColor()

Dim lastRow As Long
Dim sheetName As String


sheetName = "Sheet1"            'Insert your sheet name here
lastRow = Sheets(sheetName).Range("A" & Rows.Count).End(xlUp).Row

For lRowA = 1 To lastRow         'Loop through all rows
    For lRowB = 1 To lastRow
        If Sheets(sheetName).Cells(lRowA, "A") = Sheets(sheetName).Cells(lRowB, "B") Then

        Sheets(sheetName).Cells(lRowA, "A").Interior.ColorIndex = 3  'Set Color to RED
    End If

Next lRowB
Next lRowA

End Sub
1
Damian Duran

Ich kann die oberste Antwort nicht kommentieren, aber Excel lässt Sie dies tatsächlich tun, ohne die hässliche bedingte Logik hinzuzufügen.

Die bedingte Formatierung ist wird automatisch angewendet für alle Eingaben, die kein Fehler sind, sodass Sie den gleichen Effekt erzielen wie:

=NOT(ISERROR(MATCH(A1,$B$1:$B$1000,0)))

Mit diesem:

= MATCH(A1,$B$1:$B$1000,0)))

Wenn das Obige auf Ihre Daten angewendet wird, wird A1 formatiert, wenn es mit einer Zelle in $ B $ 1: $ B $ 1000 übereinstimmt, da jede Nichtübereinstimmung einen Fehler zurückgibt.

0
Jessica Rapson