Skip i'r prif gynnwys

Sut i gyfrif neu symio celloedd yn seiliedig ar liw celloedd yn nhaflen Google?

Cyfrif neu grynhoi gwerthoedd celloedd yn seiliedig ar liw cefndir celloedd penodol i gael y canlyniad fel y dangosir y llun isod. Yr erthygl hon, byddaf yn siarad am sut i ddatrys y dasg hon ar ddalen Google a Microsoft Excel.

Cyfrif gwerthoedd celloedd yn seiliedig ar liw celloedd gyda sgript yn nhaflen Google

Swmwch werthoedd celloedd yn seiliedig ar liw celloedd gyda sgript yn nhaflen Google

Cyfrif neu grynhoi gwerthoedd celloedd ar liw celloedd gyda Kutools ar gyfer Excel yn Microsoft Excel


Cyfrif gwerthoedd celloedd yn seiliedig ar liw celloedd gyda sgript yn nhaflen Google

Gall y sgript ganlynol eich helpu i gyfrif y gwerthoedd celloedd yn seiliedig ar liw celloedd penodol, gwnewch fel hyn:

1. Cliciwch offer > Golygydd sgript, gweler y screenshot:

2. Yn ffenestr y prosiect a agorwyd, cliciwch Ffeil > Nghastell Newydd Emlyn > Ffeil sgript i agor ffenestr cod, gweler y screenshot:

3. Ac yn y blwch prydlon, nodwch enw ar gyfer y cod sgript hwn, gweler y screenshot:

4. Cliciwch OK ac yna copïwch a gludwch y cod canlynol i ddisodli'r cod gwreiddiol yn y modiwl cod, gweler y screenshot:

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. Yna cadwch y cod sgript hwn, ac ewch yn ôl y ddalen, nodwch y fformiwla hon: = countcoloredcells (A1: E11, A1) i mewn i gell wag, ac yna pwyswch Rhowch allwedd i gael y canlyniad wedi'i gyfrifo. Gweler y screenshot:

Nodyn: Yn y fformiwla hon: A1: E11 yw'r ystod ddata rydych chi am ei defnyddio, A1 ydy'r gell wedi'i llenwi â lliw penodol rydych chi am ei chyfrif.

6. Ailadroddwch y fformiwla uchod i gyfrif celloedd lliw penodol eraill.


Swmwch werthoedd celloedd yn seiliedig ar liw celloedd gyda sgript yn nhaflen Google

I grynhoi gwerthoedd y gell â lliw celloedd penodol, gwnewch gais isod y cod sgript.

1. Cliciwch offer > Golygydd sgript i fynd ffenestr y prosiect, a chlicio Ffeil > Nghastell Newydd Emlyn > Ffeil sgript i fewnosod modiwl cod newydd arall, yna, yn y blwch prydlon, teipiwch enw ar gyfer y sgript hon, gweler y screenshot:

2. Cliciwch OK ac yn y modiwl cod a agorwyd, copïwch a gludwch islaw'r cod sgript i ddisodli'r cod gwreiddiol, gweler y screenshot:

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. Ac yna arbedwch y cod hwn, dychwelwch i'r ddalen, a nodwch y fformiwla hon: = sumcoloredcells (A1: E11, A1) i mewn i gell wag, a gwasgwch Rhowch allwedd i gael y canlyniad wedi'i gyfrifo, gweler y screenshot:

Nodyn: Yn y fformiwla hon: A1: E11 yw'r ystod ddata rydych chi am ei defnyddio, A1 yw'r gell gyda lliw cefndir penodol yr ydych am ei chrynhoi.

4. Ac yna gallwch ailadrodd y fformiwla uchod i grynhoi celloedd lliw penodol eraill.


Cyfrif neu grynhoi gwerthoedd celloedd ar liw celloedd gyda Kutools ar gyfer Excel yn Microsoft Excel

Yn Microsoft Excel, i gyfrif neu grynhoi gwerthoedd y gell yn seiliedig ar liw celloedd penodol, Kutools ar gyfer Excel'S Cyfrif yn ôl Lliw gall cyfleustodau eich helpu i orffen y dasg hon mor gyflym ag y gallwch.

Kutools ar gyfer Excel : gyda mwy na 300 o ychwanegiadau Excel defnyddiol, am ddim i geisio heb unrhyw gyfyngiad mewn 30 diwrnod. 

Ar ôl gosod Kutools ar gyfer Excel, gwnewch fel hyn:

1. Dewiswch y celloedd i amrywio eich bod chi am eu cyfrif neu eu swm yn seiliedig ar liw celloedd, ac yna cliciwch Kutools Byd Gwaith > Cyfrif yn ôl Lliw, gweler y screenshot:

2. Yn y Cyfrif yn ôl Lliw blwch deialog, dewiswch Fformatio safonol oddi wrth y Dull lliw rhestr ostwng, ac yna dewiswch Cefndir oddi wrth y Math o gyfrif gwympo, gweler y screenshot:

3. Yna cliciwch Cynhyrchu adroddiad botwm, a chynhyrchir taflen waith newydd gyda'r canlyniadau a gyfrifir ar unwaith, gweler y screenshot:

Nodyn: Gyda'r nodwedd bwerus hon, gallwch hefyd gyfrifo'r gwerthoedd celloedd yn seiliedig ar fformatio amodol neu liw ffont.

Cliciwch Lawrlwythwch a threial am ddim Kutools ar gyfer Excel Nawr!

Offer Cynhyrchiant Swyddfa Gorau

🤖 Kutools AI Aide: Chwyldro dadansoddi data yn seiliedig ar: Cyflawniad Deallus   |  Cynhyrchu Cod  |  Creu Fformiwlâu Personol  |  Dadansoddi Data a Chynhyrchu Siartiau  |  Invoke Swyddogaethau Kutools...
Nodweddion Poblogaidd: Darganfod, Amlygu neu Adnabod Dyblygiadau   |  Dileu Rhesi Gwag   |  Cyfuno Colofnau neu Gelloedd heb Colli Data   |   Rownd heb Fformiwla ...
Super-edrych: VLookup Meini Prawf Lluosog    VLookup Gwerth Lluosog  |   VLookup Ar Draws Taflenni Lluosog   |   Edrych Niwlog ....
Rhestr gwympo Uwch: Creu Rhestr Gollwng yn Gyflym   |  Rhestr Gollwng Dibynnol   |  Rhestr Gollwng Aml-ddewis ....
Rheolwr Colofn: Ychwanegu Nifer Penodol o Golofnau  |  Symud Colofnau  |  Toglo Statws Gwelededd Colofnau Cudd  |  Cymharwch Ystodau a Cholofnau ...
Nodweddion dan Sylw: Ffocws ar y Grid   |  Golwg Dylunio   |   Bar Fformiwla Mawr    Rheolwr Llyfr Gwaith a Thaflen   |  Llyfrgell Adnoddau (Testun Auto)   |  Dewiswr Dyddiad   |  Cyfuno Taflenni Gwaith   |  Amgryptio/Dadgryptio Celloedd    Anfon E-byst trwy Restr   |  Hidlo Super   |   Hidlo Arbennig (hidlo mewn print trwm/italig/strikethrough...) ...
15 Set Offer Gorau12 Testun offer (Ychwanegu Testun, Dileu Cymeriadau,...)   |   50 + Siart Mathau (Siart Gantt,...)   |   40+ Ymarferol Fformiwlâu (Cyfrifwch oedran yn seiliedig ar ben-blwydd,...)   |   19 mewnosod offer (Mewnosod Cod QR, Mewnosod Llun o'r Llwybr,...)   |   12 Trosi offer (Rhifau i Eiriau, Trosi arian cyfred,...)   |   7 Uno a Hollti offer (Rhesi Cyfuno Uwch, Celloedd Hollt,...)   |   ... a mwy

Supercharge Eich Sgiliau Excel gyda Kutools ar gyfer Excel, a Phrofiad Effeithlonrwydd Fel Erioed Erioed. Kutools ar gyfer Excel Yn Cynnig Dros 300 o Nodweddion Uwch i Hybu Cynhyrchiant ac Arbed Amser.  Cliciwch Yma i Gael Y Nodwedd Sydd Ei Angen Y Mwyaf...

Disgrifiad


Mae Office Tab yn dod â rhyngwyneb Tabbed i Office, ac yn Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
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