如果單元格在另一列中包含特定或部分文本,本教程將向您展示如何對值求和。 以下面的數(shù)據(jù)范圍為例,要獲取包含文本“T-Shirt”的產(chǎn)品總數(shù),SUMIF 函數(shù)和 SUMPRODUCT 函數(shù)都可以在 Excel 中處理此任務(wù)。
如果單元格在另一列中包含特定文本,要對值求和,您可以使用帶有通配符 (*) 的 SUMIF 函數(shù),通用語法為:
帶有硬編碼文本的通用公式:
=SUMIF(range,"*text*",sum_range)
?range:要使用標(biāo)準(zhǔn)評估的數(shù)據(jù)范圍;
?*text*:要基于的值求和的條件。 在這里,* 通配符用于查找任意數(shù)量的字符,匹配包含特定文本的所有項目,將文本放在兩個 * 字符之間。 (請注意,您必須將文本和通配符括在雙引號中。)
?sum_range:具有要求和的匹配數(shù)值的單元格范圍。
帶單元格引用的通用公式:
=SUMIF(range,"*"&cell&"*",sum_range)
?range:要使用標(biāo)準(zhǔn)評估的數(shù)據(jù)范圍;
?"*"&cell&"*":要基于的值求和的條件;
o*: 查找任意數(shù)量字符的通配符。
ocell:單元格包含要查找的特定文本。
o&:此連接運算符 (&) 用于連接帶有星號的單元格引用。
?sum_range:具有要求和的匹配數(shù)值的單元格范圍。
了解該功能的基本操作后,請使用以下任一您需要的公式,然后按 輸入 獲得結(jié)果的關(guān)鍵:
=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 函數(shù)不區(qū)分大小寫。
SUMPRODUCT 函數(shù)還可以幫助您在不使用任何通配符的情況下完成這項工作。 在這里,您應(yīng)該將 ISNUMBER 和 SEARCH 函數(shù)包裝在 SUMPRODUCT 函數(shù)中,通用語法是:
=SUMPRODUCT(sum_range *(ISNUMBER(SEARCH(criteria,range))))
?sum_range:要求和的具有匹配數(shù)值的單元格范圍;
?criteria:要基于的值求和的條件。 它可以是您定義的單元格引用或特定文本;
?range:要使用標(biāo)準(zhǔn)評估的數(shù)據(jù)范圍;
請使用以下任一公式進(jìn)入空白單元格,然后按 輸入 返回結(jié)果的鍵:
=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 函數(shù)從數(shù)據(jù)范圍 A2:A12 中返回特定文本“T-Shirt”的位置,因此,您將得到這樣的數(shù)組:{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 函數(shù)用于測試數(shù)值,并返回一個新數(shù)組:{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}:為了將這兩個數(shù)組相乘,數(shù)學(xué)運算將 TRUE 和 FALSE 值強制為 1 和 0。 因此,兩個數(shù)組的乘法將是這樣的:{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 函數(shù)將數(shù)組中的所有值相加得到結(jié)果:1605。