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?
google-sheets
gs-conditional-formatting
user3331309
la source
la source
=COUNTIFS(A:A; A1; B:B; B1)>1
;
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 lacountif
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:
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électionnezCustom formula is
dans la liste déroulante.Pourquoi ça marche?
COUNTIF(range, criterion)
, comparera chaque cellulerange
de lacriterion
, 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()
etCOLUMN()
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 pourROW()
et 2 pourCOLUMN()
).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 (commeB3
. 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 et4
renvoie les préférences de mise en formeINDIRECT()
.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:
la source
*
) 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.la source
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.
la source
Text Contains
, c'est donc ce sur quoi un utilisateur clique généralement pour accéder au menu déroulant.Mettez en surbrillance les doublons (dans la colonne C):
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, laC1
référence effective à la ligne en cours d'évaluation voir si la surbrillance doit être appliquée. ( Donc c'est plus commeINDIRECT(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 colonneC
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
).Mettez en surbrillance le premier double uniquement:
Explication: Cela ne se met en surbrillance que si les deux
COUNTIF
s le sontTRUE
(ils apparaissent à l'intérieur d'unAND()
).Le premier terme à évaluer (le
COUNTIF(C:C, C1) > 1
) est exactement le même que dans le premier exemple; c'estTRUE
seulement si ce qui est dedansC1
a un doublon. ( N'oubliez pas queC1
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 ligne1
, 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.Mettez en surbrillance le deuxième et les doublons suivants:
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 (leC1
dans leC1:C
). Ensuite, il n'évalueTRUE
(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é).la source
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:
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.
la source