J'ai des données dans les colonnes A
et B
. Les données de la colonne B
sont principalement des doublons des données de A
, mais pas toujours. Par exemple:
A
Budapest
Prague
Paris
Bukarest
Moscow
Rome
New York
B
Budapest
Prague
Los Angeles
Bukarest
Je dois effectuer une recherche dans la colonne A
si les valeurs de B
y existent. Si une ligne correspond, je dois changer la couleur d'arrière-plan de la ligne dans A
en rouge ou quelque chose du genre.
Quelle fonction dois-je utiliser et comment?
Désolé, je suis un débutant dans Excel.
Voici la formule
créer une nouvelle règle dans la mise en forme conditionnelle basée sur une formule. Utilisez la formule suivante et appliquez-la à $ A: $ A
=NOT(ISERROR(MATCH(A1,$B$1:$B$1000,0)))
voici l'exemple de fiche à télécharger en cas de problème
METTRE À JOUR
voici la suggestion de @pnuts qui fonctionne également parfaitement:
=MATCH(A1,B:B,0)>0
Aucune formule requise. Cela fonctionne sur autant de colonnes que nécessaire, mais comparera uniquement les colonnes de la même feuille de calcul:
Les doublons sont maintenant surlignés en rouge
Une autre solution plus simple consiste à utiliser cette formule dans la mise en forme conditionnelle (s’applique à la colonne A):
=COUNTIF(B:B,A1)
Cordialement!
Tout ce que vous avez à faire pour cela est une simple boucle.
Cela ne gère pas les tests de mise en correspondance minuscule, majuscule . Si ce n'est pas exactement ce que vous recherchez, commentez et je peux réviser.
Si vous envisagez d'apprendre VBA. Ceci est un bon début.
TESTED:
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
Je cherchais cela et j'ai adoré l'approche de Peege en utilisant une boucle for! (parce que j'apprends VBA en ce moment)
Cependant, si nous essayons de faire correspondre "n'importe quelle" valeur d'une autre colonne, pourquoi ne pas utiliser des boucles imbriquées comme suit?
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