Je recherche une formule pour la cellule de surbrillance de la feuille de calcul Google si la valeur est en double dans la même colonne
quelqu'un peut-il m'aider pour cette requête?
Je recherche une formule pour la cellule de surbrillance de la feuille de calcul Google si la valeur est en double dans la même colonne
quelqu'un peut-il m'aider pour cette requête?
Réponses:
Essaye ça:
Custom formula is
=countif(A:A,A1)>1
(ou passez A
à la colonne choisie)A1:A100
).Tout ce qui est écrit dans les cellules A1: A100 sera vérifié et s'il y a un doublon (se produit plus d'une fois), il sera coloré.
Pour les paramètres régionaux utilisant virgule ( ,
) comme séparateur décimal, le séparateur d'argument est probablement un point-virgule ( ;
). Autrement dit, essayez =countif(A:A;A1)>1
plutôt:.
Pour plusieurs colonnes, utilisez countifs
.
;
traduit par une erreur de "formule non valide" pour moi. Le retirer a fait l'affaire. Faites également attention: la cellule que vous spécifiez comme 2e argument de la countif
doit être la première cellule de la plage que vous sélectionnez.
=countif(B:B,B2)>1
. Cela permet de faire un formatage assez avancé lors de l'utilisation de références de cellule absolues et relatives.
Bien que la réponse de zolley soit parfaitement adaptée à la question, voici une solution plus générale pour n'importe quelle gamme, plus une explication:
=COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1
Veuillez noter que dans cet exemple, j'utiliserai la plage A1:C50
. Le premier paramètre ( $A$1:$C$50
) doit être remplacé par la plage sur laquelle vous souhaitez mettre en évidence les doublons!
pour mettre en évidence les doublons:
Format
>Conditional formatting...
Apply to range
, sélectionnez la plage à laquelle la règle doit être appliquée.Format cells if
, sélectionnez Custom formula is
dans la liste déroulante.Pourquoi ça marche?
COUNTIF(range, criterion)
, comparera chaque cellule range
de la criterion
, qui est traitée de la même manière que les formules. Si aucun opérateur spécial n'est fourni, il comparera chaque cellule de la plage avec la cellule donnée et renverra le nombre de cellules correspondant à la règle (dans ce cas, la comparaison). Nous utilisons une plage fixe (avec des $
signes) afin de toujours voir la gamme complète.
Le deuxième bloc INDIRECT(ADDRESS(ROW(), COLUMN(), 4))
,, renverra le contenu de la cellule actuelle. Si cela a été placé à l'intérieur de la cellule, les documents auront pleuré sur la dépendance circulaire, mais dans ce cas, la formule est évaluée comme si elle se trouvait dans la cellule, sans la modifier.
ROW()
et COLUMN()
renverra respectivement le numéro de ligne et le numéro de colonne de la cellule donnée. Si aucun paramètre n'est fourni, la cellule actuelle sera renvoyée (celle-ci est basée sur 1, par exemple, B3
renverra 3 pour ROW()
et 2 pour COLUMN()
).
Ensuite, nous utilisons: ADDRESS(row, column, [absolute_relative_mode])
pour traduire la ligne et la colonne numériques en une référence de cellule (comme B3
. N'oubliez pas, alors que nous sommes à l'intérieur du contexte de la cellule, nous ne savons pas que c'est le contenu de l'adresse OU, et nous avons besoin du contenu pour pouvoir le comparer). Le troisième paramètre prend soin de la mise en forme et 4
renvoie les préférences de mise en forme INDIRECT()
.
INDIRECT()
, prendra une référence de cellule et retournera son contenu. Dans ce cas, le contenu de la cellule actuelle. Revenons ensuite au début, COUNTIF()
testera chaque cellule de la plage par rapport à la nôtre et renverra le compte.
La dernière étape fait notre formule renvoie une valeur booléenne, en faisant une expression logique: COUNTIF(...) > 1
. Le > 1
est utilisé parce que nous savons qu'il existe au moins une cellule identique à la nôtre. C'est notre cellule, qui est dans la gamme, et sera donc comparée à elle-même. Donc, pour indiquer un doublon, nous devons trouver 2 ou plusieurs cellules correspondant aux nôtres.
Sources:
*
) et une autre vérification, donc dans le sens de ((COUNTIF(...))*(NOT(ISBLANK(INDIRECT(...current cell...)))))
. C'est le mieux que je puisse faire sur mobile. :)
$A$1:$C$50
- conformément aux colonnes en question. J'aime cette approche plus générique que celle de Zolley.
La réponse de @zolley est correcte. Il suffit d'ajouter un Gif et des étapes pour la référence.
Format > Conditional formatting..
Format cells if..
=countif(A:A,A1)>1
dans le champCustom formula is
A
avec votre propre colonne.Dans le menu déroulant "Le texte contient", sélectionnez "La formule personnalisée est:" et écrivez: "= countif (A: A, A1)> 1" (sans les guillemets)
J'ai fait exactement comme proposé zolley , mais il devrait y avoir une petite correction: utilisez "La formule personnalisée est" au lieu de "Le texte contient" . Et puis le rendu conditionnel fonctionnera.
Text Contains
, c'est donc ce sur quoi un utilisateur clique généralement pour accéder au menu déroulant.
=COUNTIF(C:C, C1) > 1
Explication: L' C1
ici ne fait pas référence à la première ligne de C. Étant donné que cette formule est évaluée par une règle de format conditionnel, lorsque la formule est vérifiée pour voir si elle s'applique, la C1
référence effective à la ligne en cours d'évaluation voir si la surbrillance doit être appliquée. ( Donc c'est plus comme INDIRECT(C &ROW())
si ça vous dit quelque chose! ). Essentiellement, lors de l'évaluation d'une formule de format conditionnel, tout ce qui fait référence à la ligne 1 est évalué par rapport à la ligne sur laquelle la formule est exécutée. ( Et oui, si vous utilisez C2, vous demandez à la règle de vérifier le statut de la ligne immédiatement en dessous de celle en cours d'évaluation. )
Donc, cela dit, comptez les occurrences de tout ce qui se trouve dans C1
(la cellule en cours d'évaluation) qui se trouve dans l'ensemble de la colonne C
et s'il y en a plus de 1 (c'est-à-dire que la valeur a des doublons) alors: appliquez la surbrillance ( car la formule , dans l'ensemble, évalueTRUE
).
=AND(COUNTIF(C:C, C1) > 1, COUNTIF(C$1:C1, C1) = 1)
Explication: Cela ne se met en surbrillance que si les deux COUNTIF
s le sont TRUE
(ils apparaissent à l'intérieur d'un AND()
).
Le premier terme à évaluer (le COUNTIF(C:C, C1) > 1
) est exactement le même que dans le premier exemple; c'est TRUE
seulement si ce qui est dedans C1
a un doublon. ( N'oubliez pas que C1
fait effectivement référence à la ligne en cours de vérification pour voir si elle doit être mise en surbrillance ).
Le deuxième terme ( COUNTIF(C$1:C1, C1) = 1
) semble similaire, mais il présente trois différences cruciales:
Il ne recherche pas la totalité de la colonne C
(comme la première:) C:C
mais à la place, il démarre la recherche à partir de la première ligne: C$1
(le $
force à regarder littéralement la ligne 1
, pas la ligne à évaluer).
Et puis il arrête la recherche sur la ligne en cours d'évaluation C1
.
Enfin, il dit = 1
.
Ainsi, ce ne sera que TRUE
s'il n'y a pas de doublons au-dessus de la ligne en cours d'évaluation (ce qui signifie que ce doit être le premier des doublons).
Combiné avec ce premier terme (qui ne le sera que TRUE
si cette ligne contient des doublons), cela signifie que seule la première occurrence sera mise en évidence.
=AND(COUNTIF(C:C, C1) > 1, NOT(COUNTIF(C$1:C1, C1) = 1), COUNTIF(C1:C, C1) >= 1)
Explication: La première expression est la même que toujours ( TRUE
si la ligne actuellement évaluée est en double).
Le deuxième terme est exactement le même que le dernier, sauf qu'il est nié: il a un NOT()
autour. Il ignore donc la première occurrence.
Enfin, le troisième terme récupère les doublons 2, 3, etc. COUNTIF(C1:C, C1) >= 1
démarre la plage de recherche sur la ligne actuellement évaluée (le C1
dans le C1:C
). Ensuite, il n'évalue TRUE
(applique la surbrillance) que s'il y a un ou plusieurs doublons en dessous de celui-ci (et y compris celui-ci): >= 1
(ce ne doit >=
pas être juste >
sinon le dernier doublon est ignoré).
J'ai essayé toutes les options et aucune n'a fonctionné.
Seuls les scripts de l'application Google m'ont aidé.
source: https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets
En haut de votre document
1.- allez dans outils> éditeur de script
2.- définissez le nom de votre script
3.- collez ce code:
function findDuplicates() {
// List the columns you want to check by number (A = 1)
var CHECK_COLUMNS = [1];
// Get the active sheet and info about it
var sourceSheet = SpreadsheetApp.getActiveSheet();
var numRows = sourceSheet.getLastRow();
var numCols = sourceSheet.getLastColumn();
// Create the temporary working sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var newSheet = ss.insertSheet("FindDupes");
// Copy the desired rows to the FindDupes sheet
for (var i = 0; i < CHECK_COLUMNS.length; i++) {
var sourceRange = sourceSheet.getRange(1,CHECK_COLUMNS[i],numRows);
var nextCol = newSheet.getLastColumn() + 1;
sourceRange.copyTo(newSheet.getRange(1,nextCol,numRows));
}
// Find duplicates in the FindDupes sheet and color them in the main sheet
var dupes = false;
var data = newSheet.getDataRange().getValues();
for (i = 1; i < data.length - 1; i++) {
for (j = i+1; j < data.length; j++) {
if (data[i].join() == data[j].join()) {
dupes = true;
sourceSheet.getRange(i+1,1,1,numCols).setBackground("red");
sourceSheet.getRange(j+1,1,1,numCols).setBackground("red");
}
}
}
// Remove the FindDupes temporary sheet
ss.deleteSheet(newSheet);
// Alert the user with the results
if (dupes) {
Browser.msgBox("Possible duplicate(s) found and colored red.");
} else {
Browser.msgBox("No duplicates found.");
}
};
4.- enregistrer et exécuter
En moins de 3 secondes, ma ligne en double a été colorée. Copiez simplement le script.
Si vous ne connaissez pas les scripts Google Apps, ces liens pourraient vous aider:
https://zapier.com/learn/google-sheets/google-apps-script-tutorial/
https://developers.google.com/apps-script/overview
J'espère que ça aide.
=COUNTIFS(A:A; A1; B:B; B1)>1