web-dev-qa-db-fra.com

Comment mettre en surbrillance une cellule si la valeur est dupliquée dans la même colonne que pour la feuille de calcul Google?

Je cherche une formule pour la feuille de calcul Google surligne la cellule si la valeur est dupliquée dans la même colonne

quelqu'un peut-il m'aider s'il vous plaît pour cette requête?

225
user3331309

Essaye ça:

  1. Sélectionnez la colonne entière
  2. Cliquez sur Format
  3. Cliquez sur Mise en forme conditionnelle
  4. Cliquez sur Ajouter une nouvelle règle
  5. Définissez les cellules de format si sur: Custom formula is:
  6. Définissez la valeur sur: =countif(A:A,A1)>1
  7. Définissez le style de formatage.
  8. Assurez-vous que la plage s'applique à votre colonne (par exemple, A1:A100).

Tout ce qui est écrit dans les cellules A1: A100 sera vérifié et s'il y a un doublon (plusieurs fois), il sera coloré.

Pour les paramètres régionaux utilisant la virgule (,) comme séparateur décimal, le séparateur d'arguments est très probablement un point-virgule (;). C'est-à-dire, essayez plutôt: =countif(A:A;A1)>1.

Pour plusieurs colonnes, utilisez countifs .

397
zolley

Alors que la réponse de zolley convient parfaitement à la question, voici une solution plus générale pour toute plage, avec une explication:

    =COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1

Veuillez noter que dans cet exemple, j'utiliserai la gamme 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!


mettre en évidence les doublons:

  1. Sélectionnez toute la plage sur laquelle le marquage en double est souhaité.
  2. Au menu: Format> Conditional formatting...
  3. Sous Apply to range, sélectionnez la plage à laquelle la règle doit être appliquée.
  4. Dans Format cells if, sélectionnez Custom formula is dans le menu déroulant.
  5. Dans la zone de texte, insérez la formule donnée en ajustant la plage pour qu'elle corresponde à l'étape (3).

Pourquoi ça marche?

COUNTIF(range, criterion), comparera chaque cellule de range à 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 trouvées correspondant à la règle (dans ce cas, la comparaison). Nous utilisons une plage fixe (avec les signes $) afin de toujours afficher la plage complète.

Le deuxième bloc, INDIRECT(ADDRESS(ROW(), COLUMN(), 4)), renverra le contenu de la cellule en cours. Si cela a été placé à l'intérieur de la cellule, les docs auront crié au sujet de la dépendance circulaire, mais dans ce cas, la formule est évaluée comme si elle était dans la cellule, sans la changer.

ROW() et COLUMN() renverront le numéro de ligne et de colonne de la cellule donnée respectivement. Si aucun paramètre n'est fourni, la cellule en cours sera retournée (il s'agit de 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 numérique et la colonne en une référence de cellule (comme B3. Rappelez-vous, tant que nous sommes dans le contexte de la cellule, nous ne savons pas que c'est l'adresse OR contenu, et nous avons besoin du contenu pour pouvoir comparer avec). Le troisième paramètre prend en charge le formatage, et 4 renvoie le formatage INDIRECT() like.

INDIRECT(), prendra une cellule , une référence et renverra son contenu. Dans ce cas, le contenu de la cellule en cours. De retour au début, COUNTIF() testera chaque cellule de la plage contre la nôtre et renverra le compte.

La dernière étape consiste à faire en sorte que notre formule retourne un booléen, en 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 une copie, nous devons trouver 2 cellules ou plus correspondant aux nôtres.


Sources:

54
Selfish

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 zolley proposé, 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.

Screenshot from menu

27
Shurik

La réponse de @zolley a raison. Il suffit d'ajouter un gif et des étapes pour la référence.

  1. Aller au menu Format > Conditional formatting..
  2. Trouver Format cells if..
  3. Ajouter =countif(A:A,A1)>1 dans le champ Custom formula is
    • Remarque: modifiez la lettre A avec votre propre colonne.

enter image description here

22
maheshwaghmare

En outre, vous pouvez installer le module complémentaire Supprimer les doublons et rechercher (mettre en surbrillance) ou supprimer les valeurs en double dans des colonnes ou des feuilles.

5
vujke

J'ai essayé toutes les options et aucune n'a fonctionné.

Seuls les scripts d'applications 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.- coller 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.- sauvegarder et courir

En moins de 3 secondes, ma ligne en double était colorée. Copiez simplement le script.

Si vous ne connaissez pas les scripts de Google Apps, ces liens peuvent 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.

2
JRichardsz