KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Google 試算表中根據儲存格的顏色來計算或加總數值?

作者Xiaoyang修改日期

在日常試算表工作中,您可能會遇到需要根據特定儲存格的背景顏色來計算或加總數值的情況,如下方截圖所示。例如,您可能希望僅統計或加總以特定顏色標示的儲存格,以便快速依類別或狀態分析資料。本指南將說明如何在 Google 試算表(本身未內建支援此類色彩運算功能)中達成此目標,同時也涵蓋 Microsoft Excel 的多種方法,從內建功能到進階工具一應俱全。

掌握基於顏色的數據分析技巧,能大幅提升您的工作效率,尤其在運用顏色標示狀態、優先順序或類別時更顯關鍵。我們將深入探討多種解決方案,比較各自的適用情境,並提供實用的操作技巧與常見錯誤提醒,助您順利完成任務。

根據 Google 工作表中的儲存格顏色來計數或加總儲存格


使用指令碼在 Google 試算表中根據儲存格顏色計算儲存格數值

Google 試算表並未內建直接根據儲存格背景顏色來計算數量的功能,但您可以透過自訂 Apps Script 輕鬆實現!這段指令碼可作為使用者自訂函數,讓您像使用一般公式一樣直接引用。以下是設定與使用該指令碼的步驟:

1. 點擊工具 指令碼編輯器,即可進入指令碼編輯環境。請參閱截圖:

在 google 試算表中點選「工具」>「指令碼編輯器」

2. 在專案視窗中,選取檔案> 新增> 指令碼檔案,即可開啟新的程式碼模組,如圖所示:

點選「檔案」>「新增」>「指令碼檔案」以開啟程式碼視窗

3. 出現提示時,請為新指令碼輸入名稱並確認。建議使用有意義的名稱,方便日後快速辨識其用途!

為此指令碼程式碼輸入名稱

4. 按一下確定,然後複製並貼上下列程式碼,以取代模組中的範例程式碼。請務必完整貼上所提供之程式碼。

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. 儲存此指令碼檔案後,返回試算表,即可像使用任何 Google 試算表公式一樣運用新函數!在空白儲存格中輸入:=countcoloredcells(A1:E11,A1),即可計算範圍 A1:E11 中與 A1 儲存格顏色相符的儲存格數量。按下 Enter,立即取得結果!若系統提示需要授權,請允許指令碼在試算表中執行,以確保功能正常運作。

注意A1:E11 為您的數據區域;A1 為用於計算的顏色參考儲存格。為確保最佳可靠性,請確認參考儲存格具有明確且一致的顏色,並避免使用儲存格合併。

輸入公式以取得結果

6. 若要計算其他顏色,請依需求重複套用此公式,並更換為對應的顏色參考儲存格;若您的資料範圍有所變動,也請同步調整公式中的範圍設定。

若出現錯誤或非預期結果,請再次確認指令碼已儲存,並使用了正確的顏色參考。Apps Script 函數僅在函數本身或其參數變更時才會重新計算;若您稍後更改儲存格顏色,請重新輸入公式或再次按下 Enter 鍵以更新結果。


使用指令碼在 Google 試算表中根據儲存格顏色加總儲存格數值

在 Google 試算表中,若要根據指定儲存格的顏色加總其數值,需透過類似方法並搭配 Apps Script 來實現。此功能在財務試算表、狀態追蹤,或任何以顏色標示類別且下方包含對應數值資料的情境中尤為實用。

1. 在 Google 試算表中,透過指令碼編輯器開啟工具> 指令碼編輯器。進入專案視窗後,選取檔案> 新增> 指令碼檔案 以新增程式碼模組。請在提示框中指派一個獨特名稱(例如「SumColoredCells」),方便日後追蹤用途,並確認建立模組。

點選「檔案」>「新增」>「指令碼檔案」以插入另一個新的程式碼模組並輸入名稱

2. 按一下確定,然後在新開啟的程式碼模組視窗中,貼上所提供的加總彩色儲存格指令碼,取代預設程式碼。請務必確認所有程式碼皆已完整複製,遺漏任何字元都可能導致語法錯誤!

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 相符的數值。使用此函數時,請確保所有欲加總的儲存格均為數值;非數值將被忽略。

注意A1:E11 代表您的數據區域,而 A1 提供顏色參考。此公式僅加總可見數值——請務必確認範圍內的合併儲存格或錯誤值不會影響計算結果!

輸入公式以取得結果

4. 您可以重複上述步驟,透過變更公式中的顏色參考儲存格,輕鬆加總不同顏色類別的數值。若您的資料已更新或調整了背景顏色,請務必重新整理公式,以確保取得最新結果!

若加總結果為零或出現錯誤值,請確認所選範圍內包含數值,且儲存格顏色完全相符。此外,若僅變更儲存格顏色,系統不會自動重新計算—請編輯公式所在儲存格以強制更新。


使用 Kutools for Excel 在 Microsoft Excel 中根據儲存格顏色計算或加總儲存格數值

在 Microsoft Excel 中工作時,根據儲存格的背景色或字體顏色進行計數或加總是常見需求,特別適用於專案管理、庫存追蹤或品質管制報表。Kutools for Excel 提供專用的按顏色統計工具,可立即依顏色取得計數與總計——對於大型資料區域及需要快速、可重複結果的情境尤其實用!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

安裝 Kutools for Excel 後,請依照下列步驟操作:

1. 選取欲依顏色進行計算或加總的範圍,然後點擊 KUTOOLS PLUS 按顏色統計。操作步驟請參閱下方截圖指引:

點選 Kutools 的「依顏色計數」功能

2. 在顏色模式下設定標準格式化,並選擇背景以針對統計類型按顏色統計

在「依顏色計數」對話框中設定選項

3. 按一下生成報告,即可建立包含範圍內各顏色計數與加總明細的新工作表!此報告同時列出彩色儲存格的數量與總和,方便您輕鬆查閱或進一步分析。

系統會產生一個包含計算結果的新工作表

注意:此功能可依據條件格式或字體顏色計算數值。若需動態分析,請使用條件格式規則;否則,此工具最適合用於靜態色彩填滿。當來源儲存格的顏色變更後,請重新執行「按顏色統計」工具以取得最新結果。若遇到問題,請確認 Kutools 已啟用且為最新版本。

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


最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用