Перейти до основного матеріалу

Як підрахувати або підсумувати клітинки на основі кольору комірки в аркуші Google?

Підрахунок або підсумовування значень комірок на основі конкретного кольору фону клітинки, щоб отримати результат, як показано на наступному знімку екрана. У цій статті я розповім про те, як вирішити це завдання в аркуші Google та Microsoft Excel.

Підрахуйте значення комірок на основі кольору комірки за допомогою сценарію в аркуші Google

Підсумовуйте значення комірок на основі кольору комірок із сценарієм у аркуші Google

Підрахуйте або підсумуйте значення клітинок за кольором клітинок за допомогою Kutools for Excel у Microsoft Excel


Підрахуйте значення комірок на основі кольору комірки за допомогою сценарію в аркуші Google

Наступний сценарій може допомогти вам підрахувати значення комірок на основі конкретного кольору комірки, будь-ласка, зробіть так:

1. Клацання Tools > Редактор сценаріїв, див. скріншот:

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. Потім збережіть цей код сценарію і поверніться назад до аркуша, введіть таку формулу: = кол-во кольорових осередків (A1: E11, A1) у порожню клітинку, а потім натисніть Що натомість? Створіть віртуальну версію себе у клавіша, щоб отримати розрахований результат. Дивіться знімок екрана:

примітки: У цій формулі: A1: E11 - діапазон даних, який ви хочете використовувати, A1 - це клітинка, заповнена певним кольором, який потрібно підрахувати.

6. Повторіть наведену вище формулу для підрахунку інших конкретних кольорових клітин.


Підсумовуйте значення комірок на основі кольору комірок із сценарієм у аркуші Google

Щоб підсумувати значення комірок за певним кольором комірки, застосуйте нижче код сценарію.

1. Натисніть Tools > Редактор сценаріїв щоб перейти у вікно проекту та натисніть філе > Нові > Файл сценарію щоб вставити інший новий модуль коду, у вікні запиту введіть ім'я цього сценарію, див. знімок екрана:

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. А потім збережіть цей код, поверніться на аркуш і введіть таку формулу: = кольорові осередки (A1: E11, A1) у порожню клітинку та натисніть Що натомість? Створіть віртуальну версію себе у ключ, щоб отримати розрахований результат, див. знімок екрана:

примітки: У цій формулі: A1: E11 - діапазон даних, який ви хочете використовувати, A1 це клітинка з певним кольором тла, який потрібно підсумувати.

4. А потім ви можете повторити наведену вище формулу для підсумовування інших конкретних кольорових клітин.


Підрахуйте або підсумуйте значення клітинок за кольором клітинок за допомогою Kutools for Excel у Microsoft Excel

У Microsoft Excel, щоб підрахувати або підсумувати значення комірок на основі певного кольору комірки, Kutools для ExcelАвтора Підрахувати за кольором утиліта допоможе вам виконати це завдання якомога швидше.

Kutools для Excel : з більш ніж 300 зручними надбудовами Excel, які можна спробувати без обмежень протягом 30 днів. 

після установки Kutools для Excel, будь ласка, зробіть так:

1. Виділіть клітинки для діапазону, який потрібно підрахувати або підсумувати на основі кольору комірки, а потім клацніть Kutools Plus > Підрахувати за кольором, див. скріншот:

2, в Підрахувати за кольором діалогове вікно, виберіть Стандартне форматування від Колірний метод , а потім виберіть фон від Тип підрахунку випадаюче, див. знімок екрана:

3. Потім натисніть Створити звіт , і відразу створюється новий аркуш із обчисленими результатами, див. знімок екрана:

примітки: Завдяки цій потужній функції ви також можете обчислювати значення комірок на основі умовного форматування або кольору шрифту.

Натисніть Завантажити та безкоштовну пробну версію Kutools для Excel зараз!

Найкращі інструменти продуктивності офісу

🤖 Kutools AI Aide: Революціонізуйте аналіз даних на основі: Інтелектуальне виконання   |  Згенерувати код  |  Створення спеціальних формул  |  Аналізуйте дані та створюйте діаграми  |  Викликати функції Kutools...
Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в 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