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

如果單元格在另一列中包含特定文本,則求和

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


如果單元格包含具有 SUMIF 函數的特定或部分文本,則求和值

如果單元格在另一列中包含特定文本,要對值求和,您可以使用帶有通配符 (*) 的 SUMIF 函數,通用語法為:

帶有硬編碼文本的通用公式:

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

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

=SUMIF(range,"*"&cell&"*",sum_range)
  • range:要使用標準評估的數據范圍;
  • "*"&cell&"*":要基於的值求和的條件;
    • *: 查找任意數量字符的通配符。
    • 細胞:單元格包含要查找的特定文本。
    • &:此連接運算符 (&) 用於連接帶有星號的單元格引用。
  • sum_range:具有要求和的匹配數值的單元格範圍。

了解該功能的基本操作後,請使用以下任一您需要的公式,然後按 Enter 獲得結果的關鍵:

=SUMIF($A$2:$A$12,"*T-shirt*",$B$2:$B$12)                     (Type the criteria manually)
=SUMIF($A$2:$A$12,"*"&D2&"*",$B$2:$B$12)                 
 (Use a cell reference)

備註:此 SUMIF 函數不區分大小寫。


如果單元格包含具有 SUMPRODUCT 函數的特定或部分文本,則求和值

SUMPRODUCT 函數還可以幫助您在不使用任何通配符的情況下完成這項工作。 在這裡,您應該將 ISNUMBER 和 SEARCH 函數包裝在 SUMPRODUCT 函數中,通用語法是:

=SUMPRODUCT(sum_range *(ISNUMBER(SEARCH(criteria,range))))
  • sum_range:要求和的具有匹配數值的單元格範圍;
  • criteria:要基於的值求和的條件。 它可以是您定義的單元格引用或特定文本;
  • range:要使用標準評估的數據范圍;

請使用以下任一公式進入空白單元格,然後按 Enter 返回結果的鍵:

=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH("T-Shirt",$A$2:$A$12))))          (Type the criteria manually)
=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH(D2,$A$2:$A$12))))                   
(Use a cell reference)


這個公式的解釋:

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

  • 搜索(“T 卹”,$2:$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函數可用於將兩個或多個列或數組相乘,然後獲得乘積之和。
  • 編號:
  • Excel ISNUMBER 函數在單元格包含數字時返回 TRUE,否則返回 FALSE。
  • 搜索:
  • SEARCH函數可以幫助您從給定的文本字符串中找到特定字符或子字符串的位置

更多文章:

  • Sum If 以特定文本或字符開頭或結尾
  • 如果相應單元格以特定值開頭或結尾,要對值求和,您可以應用帶有通配符 (*) 的 SUMIF 函數以將其關閉。 本文將詳細介紹如何使用該公式。
  • 對最小或底部 N 值求和
  • 在 Excel 中,我們很容易使用 SUM 函數對一系列單元格進行求和。 有時,您可能需要對數據范圍內的最小或底部 3、5 或 n 個數字求和,如下圖所示。 在這種情況下,SUMPRODUCT 和 SMALL 函數可以幫助您在 Excel 中解決這個問題。
  • 基於標準的最小或底部 N 值求和
  • 在之前的教程中,我們討論瞭如何對數據范圍內的最小 n 個值求和。 在本文中,我們將執行進一步的高級操作 - 根據 Excel 中的一個或多個條件對最低的 n 值求和。

最佳辦公效率工具

Kutools for Excel-幫助您從人群中脫穎而出

您想快速,完美地完成日常工作嗎? Kutools for Excel具有300個強大的高級功能(合併工作簿,按顏色求和,拆分單元格內容,轉換日期等),並為您節省80%的時間。

  • 專為1500個工作方案而設計,可幫助您解決80%的Excel問題。
  • 每天減少數千次鍵盤和鼠標的點擊,減輕您疲倦的眼睛和手的疲勞。
  • 在3分鐘內成為Excel專家。 不再需要記住任何痛苦的公式和VBA代碼。
  • 30天無限制免費試用。 60天退款保證。 免費升級和支持2年。
Excel功能區(已安裝Kutools for Excel)

Office選項卡-在Microsoft Office(包括Excel)中啟用選項卡式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,可將您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一樣,為Office(包括Excel)帶來高效選項卡。
Excel的屏幕截圖(已安裝Office選項卡)
按評論排序
留言 (0)
還沒有評分。 成為第一位評論!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點