Subtotal(Excel中當(dāng)我們手動隱藏?cái)?shù)據(jù)是,其是唯一 一個(gè)能統(tǒng)計(jì)用戶可見與隱藏單元格的函數(shù))
1.基本用法
=SUBTOTAL(function_num,ref1,…)下面的公式是包括手動隱藏值與可見單元格的值
=SUBTOTAL(1,B2:B8)? ? AVERAGE(平均值)
=SUBTOTAL(2,B2:B8)? ? COUNT(統(tǒng)計(jì)數(shù)字個(gè)數(shù))
=SUBTOTAL(3,B2:B8)? ? COUNTA(非空單元格數(shù)量)
=SUBTOTAL(4,B2:B8)? ? MAX(最大值)
=SUBTOTAL(5,B2:B8)? ? MIN(最小值)
=SUBTOTAL(6,B2:B8)? ? PRODUCT(括號內(nèi)數(shù)據(jù)的乘積)
=SUBTOTAL(7,B2:B8)? ? STDEV.S(標(biāo)準(zhǔn)偏差)
=SUBTOTAL(8,B2:B8)? ? STDEVP.P(標(biāo)準(zhǔn)偏差)
=SUBTOTAL(9,B2:B8)? ? SUM.S(求和)
注意:此函數(shù)并不是“一個(gè)函數(shù)”,而是“一群函數(shù)”
2.Subtotal隱藏值
Subtotal除了上述公式外,當(dāng)我們僅僅需要求可見單元格的值,不需要收到隱藏起來的值時(shí),用一下公式
=SUBTOTAL(101,B2:B8)? ? AVERAGE(平均值)
=SUBTOTAL(103,B2:B8)? ? COUNTA(非空單元格數(shù)量)
=SUBTOTAL(104,B2:B8)? ? MAX(最大值)
=SUBTOTAL(105,B2:B8)? ? MIN(最小值)
=SUBTOTAL(106,B2:B8)? ? PRODUCT(括號內(nèi)數(shù)據(jù)的乘積)
=SUBTOTAL(107,B2:B8)? ? STDEV.S(標(biāo)準(zhǔn)偏差)
=SUBTOTAL(108,B2:B8)? ? STDEVP.P(標(biāo)準(zhǔn)偏差)
=SUBTOTAL(109,B2:B8)? ? SUM.S(求和)
3.Subtotal與Sum的區(qū)別
當(dāng)我們對數(shù)據(jù)進(jìn)行篩選時(shí)
SUBTOTAL,只對篩選數(shù)據(jù)結(jié)果數(shù)據(jù)進(jìn)行求和
SUM,不受篩選結(jié)果影響,會對所有數(shù)據(jù)進(jìn)行求和
4.Subtotal計(jì)數(shù)
(1)COUNT:返回包含數(shù)字以及包含參數(shù)列表中的數(shù)字的單元格的個(gè)數(shù)
(2)COUNTA:返回參數(shù)列表中非空值的單元格個(gè)數(shù),包含有空格的單元格
5.篩選后填充序號
=SUBTOTAL(2,$B$2:B8) ,COUNT,返回包含數(shù)字以及包含參數(shù)列表中的數(shù)字的單元格的個(gè)數(shù)
=SUBTOTAL(3,$B$2:B8),COUNTA,返回參數(shù)列表中非空值的單元格個(gè)數(shù)
注意:由于會默認(rèn)把最后一行為當(dāng)做匯總行統(tǒng)計(jì),所以會在輸完公式后,再*1
6.避開同類計(jì)算(與SUM 類似)
SUBTOTAL函數(shù)遇到同類就避開了,就是不會統(tǒng)計(jì)由SUBTOTAL計(jì)算出來的數(shù)值
二、認(rèn)識Count、CountA、Countblank
1、Count
函數(shù)功能
(1)Count:?計(jì)算參數(shù)列表中的數(shù)字項(xiàng)的個(gè)數(shù)
①如果參數(shù)為數(shù)字、日期或者代表數(shù)字的文本,則將被計(jì)算在內(nèi);
②邏輯值和直接鍵入到參數(shù)列表中代表數(shù)字的文本被計(jì)算在內(nèi);
③如果參數(shù)為錯(cuò)誤值或不能轉(zhuǎn)換為數(shù)字的文本,則不會被計(jì)算在內(nèi);
④如果參數(shù)是一個(gè)數(shù)組或引用,則只計(jì)算其中的數(shù)字。數(shù)組或引用中的空白單元格、邏輯值、文本或錯(cuò)誤值將不計(jì)算在內(nèi)。
(2)CountA:?計(jì)算參數(shù)列表中非空的項(xiàng)個(gè)數(shù)
①參數(shù)值可以是任何類型,可以包括空字符(""),但不包括空白單元格;
②如果參數(shù)是數(shù)組或單元格引用,則數(shù)組或引用中的空白單元格將被忽略;
③如果不需要統(tǒng)計(jì)邏輯值、文字或錯(cuò)誤值,請使用函數(shù)COUNT。
(3)Countblank:?計(jì)算參數(shù)列表中空單元格的個(gè)數(shù)
①包含返回""(空文本)的公式的單元格會計(jì)算在內(nèi);
②包含零值的單元格不計(jì)算在內(nèi)。
二、Countif的基本用法
=Countif(需要統(tǒng)計(jì)區(qū)域,計(jì)算的條件),對區(qū)域中滿足單個(gè)指定條件的單元格進(jìn)行計(jì)數(shù)
判斷區(qū)域:表示要統(tǒng)計(jì)數(shù)量的單元格,包含數(shù)字、數(shù)組、或數(shù)字的引用(可以定義名稱框)
計(jì)算的條件:用于決定要統(tǒng)計(jì)哪些單元格的數(shù)量的數(shù)字、表達(dá)式、單元格引用或文本字串符。
三、Countifs的基本用法(多條件計(jì)數(shù)函數(shù))
Countifs(需統(tǒng)計(jì)的區(qū)域1,條件1,需統(tǒng)計(jì)的區(qū)域2,條件2)
需統(tǒng)計(jì)的區(qū)域:在其中需要統(tǒng)計(jì)關(guān)聯(lián)條件的區(qū)域(可以定義名稱框)
條件:條件的形式為數(shù)字、表達(dá)式、單元格引用或文本,可用來定義將對哪些單元格進(jìn)行計(jì)數(shù)。
注意:如果條件為文本,需要使用雙引號引起來;為數(shù)字,則無需使用雙引號。

四、模糊條件計(jì)數(shù)
使用模糊條件時(shí),可使用通配符“*”代表任意多個(gè)字符,“?”代表任意一個(gè)字符

五、文本、非空、真空數(shù)據(jù)個(gè)數(shù)計(jì)數(shù)
“*” 代替任意多個(gè)字符,文本
“<>” 代表非空數(shù)據(jù)
“ =” 代表真空數(shù)據(jù)

六、按產(chǎn)品統(tǒng)計(jì)序號(順序/亂序排列)
1、首先,先使用Countif給產(chǎn)品排序
=COUNTIF($D$2:D2,D2)
注意:COUNTIF函數(shù)的統(tǒng)計(jì)區(qū)域是$C$2:C2,第一個(gè)C2是行絕對引用,第二個(gè)C2,是相對引用;當(dāng)公式向下復(fù)制時(shí),就會變成$C$2:C3、$C$2:C4……一個(gè)不斷擴(kuò)展的區(qū)域,從這個(gè)動態(tài)區(qū)域中統(tǒng)計(jì)C列產(chǎn)品的個(gè)數(shù)
2、再使用名稱&序號來進(jìn)行組合,命名產(chǎn)品序號
(1) =D2&A2
(2) =D2&COUNTIF($D$2:D2,D2)
即使產(chǎn)品是按照亂序排列方法也一樣
七、Countif函數(shù)+Vlookup函數(shù)一對多查詢
1、首先,增加以產(chǎn)品來命名排序的輔助列,使產(chǎn)品序號唯一,方便進(jìn)行查找
2、明確我們的查找值為”含有A*"的產(chǎn)品,需要生成以"A1、A2……"的連續(xù)序號去查找,可使用函數(shù)ROW()來生成,表示現(xiàn)在所在的的單元格的所處的行
3、生成目標(biāo)產(chǎn)品連續(xù)序號后,使用Vlookup來進(jìn)行精確查找,此時(shí)向右拖動數(shù)據(jù)時(shí)會出現(xiàn)”#N/A“,此時(shí),嵌套使用函數(shù)Column()列來調(diào)整
4、為了將錯(cuò)誤值屏蔽,最后我們使用IFERROR函數(shù)來進(jìn)行隱藏
=IFERROR(VLOOKUP($F$2&ROW(A1),$A$1:$D$15,COLUMN(B1),0),"")
