在 Excel 中計算包含特定值的列數
在 Excel 工作表中計算包含特定值的儲存格數量對我們來說或許輕而易舉,但若要統計包含該值的「列數」,難度就明顯提升。此時,結合 SUM、MMULT、TRANSPOSE 與 COLUMN 函數的進階公式,正是您解決此問題的關鍵利器。本教學將帶您一步步建立此公式,輕鬆達成目標。

計算包含特定值的列數
例如,當您在工作表中有一個數值範圍,現在需要計算包含指定值「300」的列數(如下方截圖所示):

若要取得包含特定值的列數,通用語法如下:
{=SUM(–(MMULT(–(data=X),TRANSPOSE(COLUMN(data)))>0))}
Array formula, should press Ctrl + Shift + Enter keys together.
Array formula, should press Ctrl + Shift + Enter keys together.
- data:用於檢查是否包含特定值的儲存格範圍;
- X 用於計算列數的特定值。
1. 請在欲放置結果的空白儲存格中輸入或貼上下列公式:
=SUM(--(MMULT(--($A$2:$C$12=300),TRANSPOSE(COLUMN($A$2:$C$12)))>0))
2. 接著同時按下 Ctrl + Shift + Enter 鍵,即可取得正確結果!詳情請參閱截圖:

公式說明:
=SUM(--(MMULT(--($A$2:$C$12=300),TRANSPOSE(COLUMN($A$2:$C$12)))>0))
- --$A$2:$C$12=300:此運算式會檢查數值「300」是否出現在範圍 A2:C12 中,並傳回由 TRUE 與 FALSE 組成的陣列。雙負號(--)可將 TRUE 轉為 1、FALSE 轉為 0,最終產生如下結果:{0,0,0;1,0,0;0,0,0;0,1,1;0,0,0;0,1,0;0,0,0;1,0,0;0,0,1;0,0,0;1,1,1}。這個 11 列 × 3 欄的陣列將作為 MMULT 函數中的 array 1.
- TRANSPOSE(COLUMN($A$2:$C$12)):此處的 COLUMN 函數用於取得範圍 A2:C12 的欄號,會傳回一個包含 3 個元素的橫向陣列,例如:{1,2,3}。接著,TRANSPOSE 函數將此陣列轉換為 3 列的直向陣列 {1;2;3},作為 MMULT 函數中的 array 2.
- MMULT(--($A$2:$C$12="Joanna"),TRANSPOSE(COLUMN($A[[PH_39]]:$C[[PH_38]]))):此 MMULT 函數會傳回上述兩個陣列的矩陣乘積,結果如下:{0;1;0;5;0;2;0;1;3;0;6}。
- SUM(--(MMULT(--($A$2:$C$12="Joanna"),TRANSPOSE(COLUMN($A[[PH_67]]:$C[[PH_66]])))>0))= SUM(--{0;1;0;5;0;2;0;1;3;0;6}>0):首先,檢查陣列中大於 0 的值——若大於 0 則為 TRUE,否則為 FALSE。接著,雙負號(-——)會將 TRUE 和 FALSE 強制轉換為 1 與 0,因此得到:SUM({0;1;0;1;0;1;0;1;1;0;1})。最後,SUM 函數加總陣列中的數值,並傳回結果:6.
提示:
若您需要計算工作表中包含特定文字的列數,請套用下列公式,並記得同時按下 Ctrl + Shift + Enter 鍵以取得總計數:
=SUM(--(MMULT(--(ISNUMBER(SEARCH("Joanna",A2:C12))),TRANSPOSE(COLUMN($A$2:$C$12)))>0))

使用的相關函數:
- SUM:
- Excel 的 SUM 函數可快速計算並傳回您所提供數值的總和。
- MMULT:
- Excel 的 MMULT 函數可傳回兩個陣列的矩陣乘積。
- TRANSPOSE:
- TRANSPOSE 函數會依據指定的儲存格範圍,以全新方向傳回一個陣列。
- COLUMN:
- COLUMN 函數會傳回公式所在欄的編號,或指定參照的欄號。
更多文章:
- 計算符合內部條件的列數
- 假設您手邊有一份今年與去年的產品銷售報表,現在可能需要計算今年銷售額高於去年、或低於去年的產品數量(如下方截圖所示)。一般做法是新增一個輔助欄位,先算出兩年銷售額的差異,再透過 COUNTIF 函數取得結果。但本文將示範如何直接運用 SUMPRODUCT 函數,在完全不使用任何輔助欄位的情況下,輕鬆達成目標。
- 計算符合多個條件的列數
- 若要根據多個條件計算範圍內的列數(其中部分條件需透過逐列邏輯測試來判斷),可善用 Excel 中的 SUMPRODUCT 函數達成此目的。
- 計算等於多個值之一的儲存格數量
- 假設 A 欄中有一份產品清單,而您希望計算 C4:C6 範圍所列出的特定產品(Apple、Grape 和 Lemon)在 A 欄中的總數量(如下方截圖所示)。在此情境下,單獨使用 Excel 的 COUNTIF 或 COUNTIFS 函數無法達成目標。本文將示範如何巧妙結合 SUMPRODUCT 與 COUNTIF 函數,快速又輕鬆地解決此問題。
最佳 Office 生產力工具
Kutools for Excel -助您脫穎而出
| 🤖 | KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、標示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 超級 VLookup:多重條件 | 多重值 | 跨多個工作表 | 模糊查找…… | |
| 進階下拉列表:簡易下拉式清單 | 相依下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位 | 移動欄位 | 切換隱藏欄位的可見狀態 |比較欄位以選擇相同/不同單元格…… | |
| 精選功能:網格聚焦 | 設計視圖 | 增強編輯欄 | 工作簿與工作表管理員|資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符……)| 50+ 圖表 類型(甘特圖……)| 40+ 實用公式(基於生日計算年齡……)| 19 插入工具(插入二維碼,從路徑插入圖片……)| 12 轉換工具(金額轉大寫,匯率轉換……)| 7 合併和拆分工具(高級合併行,拆分 Excel 儲存格……)|……還有更多 |
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!
Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……
Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯
- 一秒內在數十份開啟的文件間快速切換!
- 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
- 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
- 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。