Passer au contenu principal

Comment compter ou additionner les cellules en fonction de la couleur des cellules dans la feuille Google?

Compter ou additionner les valeurs de cellule en fonction de la couleur d'arrière-plan de la cellule spécifique pour obtenir le résultat comme illustré ci-dessous. Cet article, je vais parler de la façon de résoudre cette tâche dans la feuille Google et Microsoft Excel.

Compter les valeurs de cellule en fonction de la couleur de la cellule avec un script dans la feuille Google

Sommez les valeurs de cellule en fonction de la couleur de la cellule avec le script dans la feuille Google

Comptez ou additionnez les valeurs des cellules sur la couleur des cellules avec Kutools for Excel dans Microsoft Excel


Compter les valeurs de cellule en fonction de la couleur de la cellule avec un script dans la feuille Google

Le script suivant peut vous aider à compter les valeurs de cellule en fonction de la couleur de cellule spécifique, procédez comme suit:

1Cliquez sur Outils > Éditeur de script, voir capture d'écran:

2. Dans la fenêtre de projet ouverte, cliquez sur Déposez votre dernière attestation > Nouveauté > Fichier de script pour ouvrir une fenêtre de code, voir capture d'écran:

3. Et dans la boîte de dialogue, entrez un nom pour ce code de script, voir capture d'écran:

4Cliquez sur OK puis copiez et collez le code suivant pour remplacer le code d'origine dans le module de code, voir capture d'écran:

function countColoredCells(countRange,colorRef) {
  var activeRg = SpreadsheetApp.getActiveRange();
  var activeSht = SpreadsheetApp.getActiveSheet();
  var activeformula = activeRg.getFormula();
  var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
  var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
  var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
  var BackGround = activeSht.getRange(colorRefAddress).getBackground();
  var countCells = 0;
  for (var i = 0; i < backGrounds.length; i++)
    for (var k = 0; k < backGrounds[i].length; k++)
      if ( backGrounds[i][k] == BackGround )
        countCells = countCells + 1;
  return countCells;
};

5. Ensuite, enregistrez ce code de script, et revenez en arrière sur la feuille, entrez cette formule: = nombre de cellules couleur (A1: E11, A1) dans une cellule vide, puis appuyez sur Entrer touche pour obtenir le résultat calculé. Voir la capture d'écran:

Notes: Dans cette formule: A1: E11 est la plage de données que vous souhaitez utiliser, A1 est la cellule remplie de couleur spécifique que vous souhaitez compter.

6. Répétez la formule ci-dessus pour compter d'autres cellules colorées spécifiques.


Sommez les valeurs de cellule en fonction de la couleur de la cellule avec le script dans la feuille Google

Pour additionner les valeurs de cellule avec une couleur de cellule spécifique, veuillez appliquer le code de script ci-dessous.

1. Cliquez Outils > Éditeur de script pour accéder à la fenêtre du projet, et cliquez sur Déposez votre dernière attestation > Nouveauté > Fichier de script pour insérer un autre nouveau module de code, puis, dans la boîte de dialogue, veuillez saisir un nom pour ce script, voir capture d'écran:

2Cliquez sur OK et dans le module de code ouvert, copiez et collez ci-dessous le code de script pour remplacer le code d'origine, voir capture d'écran:

function sumColoredCells(sumRange,colorRef) {
  var activeRg = SpreadsheetApp.getActiveRange();
  var activeSht = SpreadsheetApp.getActiveSheet();
  var activeformula = activeRg.getFormula();
  var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
  var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
  var sumValues = activeSht.getRange(countRangeAddress).getValues();  
  var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
  var BackGround = activeSht.getRange(colorRefAddress).getBackground();
  var totalValue = 0;
  for (var i = 0; i < backGrounds.length; i++)
    for (var k = 0; k < backGrounds[i].length; k++)
      if ( backGrounds[i][k] == BackGround )
        if ((typeof sumValues[i][k]) == 'number')
          totalValue = totalValue + (sumValues[i][k]);
  return totalValue;
};

3. Et puis enregistrez ce code, revenez à la feuille et entrez cette formule: = somme des cellules colorées (A1: E11, A1) dans une cellule vide et appuyez sur Entrer clé pour obtenir le résultat calculé, voir capture d'écran:

Notes: Dans cette formule: A1: E11 est la plage de données que vous souhaitez utiliser, A1 est la cellule avec une couleur d'arrière-plan spécifique que vous souhaitez additionner.

4. Et puis, vous pouvez répéter la formule ci-dessus pour additionner d'autres cellules colorées spécifiques.


Comptez ou additionnez les valeurs des cellules sur la couleur des cellules avec Kutools for Excel dans Microsoft Excel

Dans Microsoft Excel, pour compter ou additionner les valeurs de cellule en fonction d'une couleur de cellule spécifique, Kutools for Excel's Compter par couleur L'utilitaire peut vous aider à terminer cette tâche aussi rapidement que possible.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours. 

Après l'installation de Kutools for Excel, veuillez faire comme ceci:

1. Sélectionnez les cellules à plage que vous souhaitez compter ou additionner en fonction de la couleur de cellule, puis cliquez sur Kutools Plus > Compter par couleur, voir capture d'écran:

2. Dans le Compter par couleur boîte de dialogue, choisissez Formatage standard du Méthode de couleur liste déroulante, puis sélectionnez Contexte du Type de comptage déroulant, voir capture d'écran:

3. Puis clique Générer un rapport bouton, et une nouvelle feuille de calcul avec les résultats calculés est générée à la fois, voir capture d'écran:

Notes: Avec cette fonctionnalité puissante, vous pouvez également calculer les valeurs de cellule en fonction de la mise en forme conditionnelle ou de la couleur de la police.

Cliquez sur Télécharger et essayer gratuitement Kutools for Excel Now!

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (79)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Hey I just wanted to thank you for this guide. It totally worked! Awesome! 👍
This comment was minimized by the moderator on the site
Hii, i need help!
Did somebody have the right script?
if u have it, can u pls send me?
thanks
This comment was minimized by the moderator on the site
i need the auto update for the sumcoloredcells formula
do you know how can i have it?
This comment was minimized by the moderator on the site
questo funziona

// restituisce la somma dei valori in un range in base al colore di sfondo della cella
// uso: =SommaSeSfondo(range;cella colore di riferimento )
// =SommaSeSfondo(B1:B8;E1)

function SommaSeSfondo(sumRange,colorRef) {
var activeRg = SpreadsheetApp.getActiveRange();
var activeSht = SpreadsheetApp.getActiveSheet();
var activeformula = activeRg.getFormula();
var countRangeAddress = activeformula.match(/\((.*)\;/).pop().trim();
var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
var sumValues = activeSht.getRange(countRangeAddress).getValues();
var colorRefAddress = activeformula.match(/\;(.*)\)/).pop().trim();
var BackGround = activeSht.getRange(colorRefAddress).getBackground();
var totalValue = 0;
for (var i = 0; i < backGrounds.length; i++)
for (var k = 0; k < backGrounds[i].length; k++)
if ( backGrounds[i][k] == BackGround )
if ((typeof sumValues[i][k]) == 'number')
totalValue = totalValue + (sumValues[i][k]);
return totalValue;
};
This comment was minimized by the moderator on the site
Hi Samal,

You have to use the formula:

=SommeCouleurs(A:A;A1) => A:A : columns that contain the colors to count and A1 : The cell that contains the example of the color.
This comment was minimized by the moderator on the site
'm having a problem in the script for google sheets: TypeError: Cannot call method "pop" of null. (line 5, file "SumByColor"). Can you please help?
This comment was minimized by the moderator on the site
'm having a problem in the script for google sheets: TypeError: Cannot call method "pop" of null. (line 5, file "SumByColor"). Can you please help?
This comment was minimized by the moderator on the site
'm having a problem in the script for google sheets: TypeError: Cannot call method "pop" of null. (line 5, file "SumByColor"). Can you please help?
This comment was minimized by the moderator on the site
Bonjour a tous,

J'utilise Google Sheet en version Française et voici le script le plus fonctionnel que j'ai trouvé:

function SommeCouleurs(plage,couleur) {
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formule = activeRange.getFormula();


var laplage = formule.match(/\((.*)\;/).pop();
var range = activeSheet.getRange(laplage);
var bg = range.getBackgrounds();
var values = range.getValues();

var lacouleur = formule.match(/\;(.*)\)/).pop();
var colorCell = activeSheet.getRange(lacouleur);
var color = colorCell.getBackground();

var total = 0;

for(var i=0;i<bg.length;i++)
for(var j=0;j<bg[0].length;j++)
if( bg[i][j] == color )
total=total+(values[i][j]*1);
return total;

};


function CompteCouleurs(plage,couleur) {
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formule = activeRange.getFormula();


var laplage = formule.match(/\((.*)\;/).pop();
var range = activeSheet.getRange(laplage);
var bg = range.getBackgrounds();
var values = range.getValues();

var lacouleur = formule.match(/\;(.*)\)/).pop();
var colorCell = activeSheet.getRange(lacouleur);
var color = colorCell.getBackground();

var count = 0;


for(var i=0;i<bg.length;i++)
for(var j=0;j<bg[0].length;j++)
if( bg[i][j] == color )
count=count+1;
return count;
};

Formule a utiliser:

=CompteCouleurs(A2:A;A1)

Il s'actualise automatiquement.
En espérant que ca vous aidera
This comment was minimized by the moderator on the site
Добрый день!
Проверил, автоматически не пересчитывает, если изменить цвет в диапазоне ((
This comment was minimized by the moderator on the site
非常感謝大大分享~很實用我是用Google 試算表編輯
請問程式碼能教怎麼加總指定的文字顏色的數字總和嗎? (把 儲存格顏色 改為 文字顏色) 拜託~~
This comment was minimized by the moderator on the site
Hi, I have set it in google sheets as You have described, but it showed me error "Type error: Cannot read property 'pop' of null". PLS can you help me?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations