Note: The other languages of the website are Google-translated. Back to English

如何根據Google工作表中的單元格顏色對單元格進行計數或求和?

根據特定的單元格背景色對單元格值進行計數或求和,以獲得結果,如以下屏幕截圖所示。 本文,我將討論如何在Google表格和Microsoft Excel中解決此任務。

使用Google工作表中的腳本根據單元格顏色計算單元格值

在Google工作表中使用腳本對基於單元格顏色的單元格值求和

在Microsoft Excel中使用Kutools for 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) 放入空白單元格,然後按 Enter 獲得計算結果的鍵。 看截圖:

備註:在此公式中: A1:E11 是您要使用的數據范圍, 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) 放入空白單元格,然後按 Enter 獲取計算結果的關鍵,請參見屏幕截圖:

備註:在此公式中: A1:E11 是您要使用的數據范圍, A1 是要求和的具有特定背景顏色的單元格。

4。 然後,您可以重複上述公式以求和其他特定的彩色單元格。


在Microsoft Excel中使用Kutools for Excel對單元格顏色的單元格值進行計數或求和

在Microsoft Excel中,要根據特定的單元格顏色對單元格值進行計數或求和, Excel的Kutools 按顏色計數 實用程序可以幫助您盡快完成此任務。

Excel的Kutools : 帶有300多個便捷的Excel加載項,可以在30天內免費試用. 

安裝後 Excel的Kutools,請這樣做:

1。 選擇您要基於單元格顏色進行計數或求和的單元格,然後單擊 Kutools 加 > 按顏色計數,請參見屏幕截圖:

2。 在 按顏色計數 對話框中選擇 標準格式 來自 上色方式 下拉列表,然後選擇 背景 來自 計數類型 下拉菜單,請參見屏幕截圖:

3。 然後點擊 生成報告 按鈕,並立即生成帶有計算結果的新工作表,請參見屏幕截圖:

備註:借助此強大功能,您還可以根據條件格式或字體顏色計算單元格值。

點擊立即下載並免費試用Kutools for Excel!


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (77)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
你好! 很棒的腳本,但是在嘗試編輯彩色單元格中的值時遇到了問題。 如果我更改單元格的顏色,腳本不會刷新值。 如果我刪除單元格的內容,更改顏色然後再次輸入值,我只能強制它刷新。
網站主持人對此評論進行了最小化
嘿,謝謝這個腳本。 我在 google 表格的腳本中遇到問題:TypeError:無法調用 null 的方法“pop”。 (第 5 行,文件“SumByColor”)。 可以幫忙嗎,謝謝
網站主持人對此評論進行了最小化
Такая же ошибка。 Не срабатывает(
網站主持人對此評論進行了最小化
感謝您對“基於顏色計算 google 表格的單元格數”的幫助。 限制似乎是當單元格顏色更改時,工作表不會刷新並且總數不正確。 我必須刪除整個單元格中的代碼並從相鄰單元格中再次復制。 不理想,但它有效。 再次感謝。
網站主持人對此評論進行了最小化
你好,托德,
是的,正如您所說,當單元格顏色發生變化時,您應該重新輸入公式。
可能沒有其他好的方法可以解決這個問題。
如果其他人有好的方法,請在這裡評論。
感謝您!
網站主持人對此評論進行了最小化
您的 sumColoredCells() 函數不正確,因為它不使用 sumRange
網站主持人對此評論進行了最小化
你好,戴夫,
上面的腳本在我的 Google 表格中運行良好。
應用公式時,應先保存腳本窗口。
請嘗試一下,謝謝!
網站主持人對此評論進行了最小化
嘿,謝謝這個腳本。 我在 google 表格的腳本中遇到問題:TypeError:無法調用 null 的方法“pop”。 (第 5 行,文件“SumByColor”)。 可以幫忙嗎,謝謝
網站主持人對此評論進行了最小化
嗨,勞拉,
該腳本在我的谷歌表格中運行良好。
如果您的 google sheet 有問題,我可以與您分享我的 google sheet。
請提供您的電子郵件地址。
感謝您!
網站主持人對此評論進行了最小化
你好,我也有同樣的問題,你解決了嗎?
網站主持人對此評論進行了最小化
問題可能是您的區域配置,該腳本認為您用“,”分隔參數,但可能不是您的情況。 就我而言,我使用';',所以我修改了腳本,改變了行中的字符

var countRangeAddress = activeformula.match(/\((.*)\;/).pop().trim();

var colorRefAddress = activeformula.match(/\;(.*)\)/).pop().trim();
網站主持人對此評論進行了最小化
cambio la coma (,) por punto y coma (;) pero aun así no me cuenta el color。 我出售 como resultado (0 cero)。
網站主持人對此評論進行了最小化
時代是新的。 Funcionou perfeito aqui 功能
網站主持人對此評論進行了最小化
有沒有辦法在混合中包含負數並獲得正確的總和? 我的不斷添加範圍內的所有數字,即使數字上有一個負號。
網站主持人對此評論進行了最小化
我收到“不允許操作第 0 行”我做錯了什麼?
網站主持人對此評論進行了最小化
我不斷收到錯誤“不允許操作(第 0 行)”。 這是什麼意思?
網站主持人對此評論進行了最小化
添加新數據時會自動更新嗎?
網站主持人對此評論進行了最小化
好像不像
網站主持人對此評論進行了最小化
你有沒有想過如何讓它自動更新?
網站主持人對此評論進行了最小化
有人找到自動更新的方法嗎?
網站主持人對此評論進行了最小化
我也需要弄清楚如何讓它自動更新!...有人找到答案嗎?
網站主持人對此評論進行了最小化
有人找到自動更新的方法嗎?
網站主持人對此評論進行了最小化
不,我正在努力尋找答案
網站主持人對此評論進行了最小化
替換此行:
var countRangeAddress = activeformula.match(/\((.*)\;/).pop().trim();


var colorRefAddress = activeformula.match(/\;(.*)\)/).pop().trim();

通知比,改為;
網站主持人對此評論進行了最小化
你好,


我是否需要一些與 SUM total of number 關鍵字匹配並反映顏色數量類似的公式的幫助。


我要實現什麼來確定作為關鍵字的筆記本電腦的數量,但根據單元格的顏色識別可用?
網站主持人對此評論進行了最小化
我試圖做這樣的事情
=countColoredCells (H62:H,B2)countif("MBA13R15")
網站主持人對此評論進行了最小化
你好,
這個公式對我不起作用。
如果我在電子表格中這樣做,只會出現錯誤。
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
謝謝,這很好用!
網站主持人對此評論進行了最小化
SumColoredCells 腳本效果很好。 你知道是否有辦法顯示(在單個單元格中)兩種顏色的總和? 例如,如果我希望黃色和綠色單元格的總和顯示在一個單元格中,這可能嗎? 我認為公式是:
=SUM(sumcoloredcells(A1:E11,A1)),(sumcoloredcells(A1:E11,A5)) ....但這會導致錯誤。 有任何想法嗎?
網站主持人對此評論進行了最小化
你好,傑夫,
可能沒有直接的公式可以解決您的問題,但是,您可以先分別對彩色單元格求和,然後根據需要對兩個計算結果求和。
網站主持人對此評論進行了最小化
謝謝回复。 我已經這樣做了,但很想將公式合併到一個單元格中,因為我必須每週更新範圍。 無論如何,感謝您的檢查!
網站主持人對此評論進行了最小化
你好,


但是,當我嘗試在與(在我的情況下)相同的單元格中對它的 2 個實例求和時,此函數有效:


=sumColoredCells(A103:AW103, C171) + sumColoredCells(A138:AW138, C171)


它給了我一個#Error - Range not found(第 6 行)。


即使我使用 SUM() 或 ADD(),它也不起作用。 有任何想法嗎?


在此先感謝。
網站主持人對此評論進行了最小化
謝謝 :*
網站主持人對此評論進行了最小化
你好,
在谷歌表上,似乎沒有工作,我繼續調試,對於這兩個進程,第 5 行似乎是一個類型錯誤,消息是:不可能回憶起 null 的“pop2 方法。這有意義嗎?謝謝很多!
網站主持人對此評論進行了最小化
互聯網上到處都是這種解決方案的實例,但它不起作用。
網站主持人對此評論進行了最小化
這個腳本曾經很好用,但它不再工作了。 有什麼改變讓它倒下嗎?
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護