Μετάβαση στο κύριο περιεχόμενο

Πώς να μετρήσετε ή να αθροίσετε τα κελιά με βάση το χρώμα των κυττάρων στο φύλλο Google;

Μετρώντας ή αθροίζοντας τιμές κυψελών με βάση το συγκεκριμένο χρώμα φόντου κελιού για να λάβετε το αποτέλεσμα όπως φαίνεται το παρακάτω στιγμιότυπο οθόνης. Σε αυτό το άρθρο, θα μιλήσω για τον τρόπο επίλυσης αυτής της εργασίας στο φύλλο Google και στο Microsoft Excel.

Μετρήστε τις τιμές των κυττάρων με βάση το χρώμα των κυττάρων με σενάριο στο φύλλο Google

Αθροίστε τις τιμές των κυττάρων με βάση το χρώμα των κυττάρων με σενάριο στο φύλλο Google

Μετρήστε ή αθροίστε τις τιμές των κελιών στο χρώμα των κυττάρων με το Kutools για Excel στο Microsoft Excel


Μετρήστε τις τιμές των κυττάρων με βάση το χρώμα των κυττάρων με σενάριο στο φύλλο Google

Το παρακάτω σενάριο μπορεί να σας βοηθήσει να μετρήσετε τις τιμές των κελιών με βάση το συγκεκριμένο χρώμα του κελιού, κάντε το ως εξής:

1. Κλίκ Εργαλεία > Επεξεργαστής σεναρίων, δείτε το στιγμιότυπο οθόνης:

2. Στο ανοιχτό παράθυρο έργου, κάντε κλικ στο Αρχεία > Νέα > Αρχείο δέσμης ενεργειών για να ανοίξετε ένα παράθυρο κώδικα, δείτε το στιγμιότυπο οθόνης:

3. Και στο πλαίσιο προτροπής, εισαγάγετε ένα όνομα για αυτόν τον κωδικό σεναρίου, δείτε το στιγμιότυπο οθόνης:

4. Κλίκ OK και, στη συνέχεια, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα για να αντικαταστήσετε τον αρχικό κώδικα στη μονάδα κώδικα, δείτε το στιγμιότυπο οθόνης:

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. Στη συνέχεια, αποθηκεύστε αυτόν τον κωδικό σεναρίου και επιστρέψτε το φύλλο, εισαγάγετε αυτόν τον τύπο: = countcoloredcells (A1: E11, A1) σε ένα κενό κελί και, στη συνέχεια, πατήστε εισάγετε κλειδί για να λάβετε το υπολογισμένο αποτέλεσμα. Δείτε το στιγμιότυπο οθόνης:

Note: Σε αυτόν τον τύπο: Α1: Ε11 είναι το εύρος δεδομένων που θέλετε να χρησιμοποιήσετε, A1 είναι το κελί γεμάτο με συγκεκριμένο χρώμα που θέλετε να μετρήσετε.

6. Επαναλάβετε τον παραπάνω τύπο για να μετρήσετε άλλα συγκεκριμένα χρωματιστά κελιά.


Αθροίστε τις τιμές των κυττάρων με βάση το χρώμα των κυττάρων με σενάριο στο φύλλο Google

Για να συνοψίσετε τις τιμές των κελιών με ένα συγκεκριμένο χρώμα κελιού, εφαρμόστε τον παρακάτω κώδικα σεναρίου.

1. Πατήστε Εργαλεία > Επεξεργαστής σεναρίων για να μεταβείτε στο παράθυρο του έργου και κάντε κλικ στο Αρχεία > Νέα > Αρχείο δέσμης ενεργειών για να εισαγάγετε μια άλλη νέα ενότητα κώδικα και, στη συνέχεια, στο πλαίσιο προτροπής, πληκτρολογήστε ένα όνομα για αυτό το σενάριο, δείτε το στιγμιότυπο οθόνης:

2. Κλίκ OK και στην ανοιχτή ενότητα κώδικα, αντιγράψτε και επικολλήστε κάτω από τον κώδικα σεναρίου για να αντικαταστήσετε τον αρχικό κώδικα, δείτε το στιγμιότυπο οθόνης:

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. Και μετά αποθηκεύστε αυτόν τον κωδικό, επιστρέψτε στο φύλλο και εισαγάγετε αυτόν τον τύπο: = sumcoloredcells (A1: E11, A1) σε ένα κενό κελί και πατήστε εισάγετε κλειδί για να λάβετε το υπολογισμένο αποτέλεσμα, δείτε το στιγμιότυπο οθόνης:

Note: Σε αυτόν τον τύπο: Α1: Ε11 είναι το εύρος δεδομένων που θέλετε να χρησιμοποιήσετε, A1 είναι το κελί με ένα συγκεκριμένο χρώμα φόντου που θέλετε να αθροίσετε.

4. Και μετά μπορείτε να επαναλάβετε τον παραπάνω τύπο για να αθροίσετε άλλα συγκεκριμένα χρωματιστά κελιά.


Μετρήστε ή αθροίστε τις τιμές των κελιών στο χρώμα των κυττάρων με το Kutools για Excel στο Microsoft Excel

Στο Microsoft Excel, για να μετρήσετε ή να αθροίσετε τις τιμές των κελιών με βάση το συγκεκριμένο χρώμα κελιού, Kutools για Excel'S Μετρήστε ανά χρώμα βοηθητικό πρόγραμμα μπορεί να σας βοηθήσει να ολοκληρώσετε αυτήν την εργασία όσο πιο γρήγορα μπορείτε.

Kutools για Excel : με περισσότερα από 300 εύχρηστα πρόσθετα Excel, δωρεάν δοκιμή χωρίς περιορισμό σε 30 ημέρες. 

Μετά την εγκατάσταση Kutools για Excel, κάντε το ως εξής:

1. Επιλέξτε τα κελιά για εύρος που θέλετε να μετρήσετε ή αθροίστε με βάση το χρώμα των κυττάρων και, στη συνέχεια, κάντε κλικ στο Kutools Plus > Μετρήστε ανά χρώμα, δείτε το στιγμιότυπο οθόνης:

2. Στην Μετρήστε ανά χρώμα , επιλέξτε Τυπική μορφοποίηση από το Μέθοδος χρώματος αναπτυσσόμενη λίστα και, στη συνέχεια, επιλέξτε Ιστορικό από το Τύπος μέτρησης drop down, δείτε το στιγμιότυπο οθόνης:

3. Στη συνέχεια κάντε κλικ στο κουμπί Δημιουργία αναφοράς κουμπί και δημιουργείται ταυτόχρονα νέο φύλλο εργασίας με τα υπολογισμένα αποτελέσματα, δείτε το στιγμιότυπο οθόνης:

Note: Με αυτήν την ισχυρή δυνατότητα, μπορείτε επίσης να υπολογίσετε τις τιμές των κελιών με βάση τη μορφοποίηση υπό όρους ή το χρώμα της γραμματοσειράς.

Κάντε κλικ στην επιλογή Λήψη και δωρεάν δοκιμή Kutools για Excel τώρα!

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
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