Skip to main content

如果另一列中的單元格包含特定文字則求和

Author: Xiaoyang Last Modified: 2025-05-13

本教程將向您展示如何在另一列中單元格包含特定或部分文字時對值進行求和。以下面的數據範圍為例,要獲取包含“T-Shirt”文字的產品總數量,SUMIF 函數和 SUMPRODUCT 函數都可以在 Excel 中處理此任務。

doc-sumif-contain-text-1


如果單元格包含特定或部分文字,使用 SUMIF 函數求和

如果另一列中的單元格包含特定文字,您可以使用帶有萬用字元(*)的 SUMIF 函數來求和,通用語法如下:

帶硬編碼文字的通用公式:

=SUMIF(範圍,"*文字*",求和範圍)
  • 範圍:您希望根據條件評估的數據範圍;
  • *文字*:您希望基於其求和的條件。這裡,* 萬用字元用於查找任意數量的字符,要匹配包含特定文字的所有項目,請將文字放在兩個 * 字符之間。(注意,您必須將文字和萬用字元放在雙引號中。
  • 求和範圍:您希望求和的匹配數值的單元格範圍。

帶單元格引用的通用公式:

=SUMIF(範圍,"*"&單元格&"*",求和範圍)
  • 範圍:您希望根據條件評估的數據範圍;
  • "*"&單元格&"*":您希望基於其求和的條件;
    • *:該萬用字元用於查找任意數量的字符。
    • 單元格:包含要查找的特定文字的單元格。
    • &:這個連接運算符(&)用於將單元格引用與星號連接起來。
  • 求和範圍:您希望求和的匹配數值的單元格範圍。

了解函數的基本操作後,請根據需要使用以下任何一個公式,然後按 Enter 鍵以獲得結果:

=SUMIF($A$2:$A$12,"*T-shirt*",$B$2:$B$12)(手動輸入條件)=SUMIF($A$2:$A$12,"*"&D2&"*",$B$2:$B$12)(使用單元格引用)

doc-sumif-contain-text-2

注意:此 SUMIF 函數不區分大小寫。


如果單元格包含特定或部分文字,使用 SUMPRODUCT 函數求和

SUMPRODUCT 函數也可以幫助您完成此任務,而無需使用任何萬用字元。在此,您應該將 ISNUMBER 和 SEARCH 函數嵌套在 SUMPRODUCT 函數內,通用語法如下:

=SUMPRODUCT(求和範圍 *(ISNUMBER(SEARCH(條件,範圍))))
  • 求和範圍:您希望求和的匹配數值的單元格範圍;
  • 條件:您希望基於其求和的條件。它可以是單元格引用或您定義的特定文字;
  • 範圍:您希望根據條件評估的數據範圍;

請在空白單元格中使用以下任何一個公式,然後按 Enter 鍵以返回結果:

=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH("T-Shirt",$A$2:$A$12)))) (手動輸入條件)=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH(D2,$A$2:$A$12))))(使用單元格引用)

doc-sumif-contain-text-3


此公式的解釋:

=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH("T-Shirt",$A$2:$A$12))))

  • SEARCH("T-Shirt",$A$2:$A$12): SEARCH 函數從數據範圍 A2:A12 返回特定文字 “T-Shirt” 的位置,因此,您將得到如下陣列:{5;#VALUE!;#VALUE!;7;#VALUE!;7;#VALUE!;#VALUE!;#VALUE!;#VALUE!;7}。
  • ISNUMBER(SEARCH("T-Shirt",$A$2:$A$12))= ISNUMBER({5;#VALUE!;#VALUE!;7;#VALUE!;7;#VALUE!;#VALUE!;#VALUE!;#VALUE!;7}): 此 ISNUMBER 函數用於測試數值,並返回一個新陣列:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}。
  • $B$2:$B$12*(ISNUMBER(SEARCH("T-Shirt",$A$2:$A$12)))= {347;428;398;430;228;379;412;461;316;420;449}*{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}: 將這兩個陣列相乘,數學運算會將 TRUE 和 FALSE 值強制轉換為 1 和 0。因此,這兩個陣列的乘積將如下所示:{347;428;398;430;228;379;412;461;316;420;449}*{1;0;0;1;0;1;0;0;0;0;1}={347;0;0;430;0;379;0;0;0;0;449}。
  • SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH("T-Shirt",$A$2:$A$12)))) =SUMPRODUCT({347;0;0;430;0;379;0;0;0;0;449}): 最後,SUMPRODUCT 函數將陣列中的所有值加總以獲得結果:1605。

相關函數介紹:

  • SUMIF:
  • SUMIF 函數可以根據一個條件對單元格進行求和。
  • SUMPRODUCT:
  • SUMPRODUCT 函數可以用於將兩列或多列或陣列相乘,然後獲取乘積的總和。
  • ISNUMBER:
  • Excel 的 ISNUMBER 函數在單元格包含數字時返回 TRUE,否則返回 FALSE。
  • SEARCH:
  • SEARCH 函數可以幫助您從給定的文字字符串中找到特定字符或子字符串的位置。

更多文章:

  • 求和最小或底部 N 個值
  • 在 Excel 中,使用 SUM 函數很容易對一組單元格進行求和。有時候,您可能需要對數據範圍中最小或底部 3、5 或 n 個數字進行求和,如下面的截圖所示。在這種情況下,SUMPRODUCT 與 SMALL 函數可以幫助您在 Excel 中解決這個問題。
  • 根據條件求和最小或底部 N 個值
  • 在之前的教程中,我們討論了如何對數據範圍中最小的 n 個值進行求和。在本文中,我們將執行進一步的高級操作——根據一個或多個條件求和最低的 n 個值。

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

? Kutools AI 助手:基於智能執行生成代碼創建自訂公式分析數據並生成圖表調用 Kutools 函數…來徹底改變數據分析方式。
熱門功能查找、標記或識別重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  四捨五入無需公式 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫(自動文本)  |  日期提取器  |  合併資料  |  加密/解密儲存格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文字工具添加文本刪除特定字符 ...)  |  50+ 圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行分割Excel單元格 ...)  |  ... 還有更多

Kutools for Excel 擁有超過 300 種功能,確保您需要的功能只需點擊一下即可實現...


Office Tab - 啟用 Microsoft Office(包括 Excel)中的分頁閱讀和編輯功能

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 當查看和編輯多個文檔時,您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的分頁功能,就像 Chrome、Edge 和 Firefox 一樣。