|
如工作中我們會(huì)按照日、周、月、年等形式來(lái)統(tǒng)計(jì)各類(lèi)數(shù)據(jù),然后會(huì)在一種匯總表中對(duì)所有sheet頁(yè)中統(tǒng)計(jì)的數(shù)據(jù)進(jìn)行平均或者求和匯總。本節(jié)將會(huì)講解怎么用函數(shù)來(lái)進(jìn)行跨sheet指定條件求和。下節(jié)課將會(huì)講解如何使用函數(shù)進(jìn)行跨sheet指定條件求平均。 案例一:求出表中12個(gè)月人員總銷(xiāo)售額。我們都知道條件求和函數(shù)sumif,但是此函數(shù)只能使用單一條件,sumfis可以使用多條件求和,但是當(dāng)條件過(guò)多時(shí)函數(shù)會(huì)顯的特別長(zhǎng)。如何避免這些問(wèn)題,下面將引入一種新的函數(shù)INDIRECT引用函數(shù)。 條件求和函數(shù): =SUM(SUMIF(INDIRECT(ROW($1:$12)&'!B:B'),$B3,INDIRECT(ROW($1:$12)&'!F:F'))) 此處思路與sumif條件求和一樣,運(yùn)用函數(shù)嵌套,使用indirect函數(shù)引用出各月條件區(qū)域,當(dāng)sumif函數(shù)條件符合時(shí)引用出各月條件求和區(qū)域。 函數(shù)解析: 1、ROW($1:$12):引用各sheet頁(yè)下標(biāo)數(shù)字,1-12個(gè)月。 2、SUMIF(INDIRECT(ROW($1:$12)&'!B:B'),$B3,INDIRECT(ROW($1:$12)&'!F:F')):此處函數(shù)主要為引用出各月符合條件$B3的數(shù)據(jù)。選擇這個(gè)函數(shù)區(qū)域按F9我們可以看到以下內(nèi)容: 3、因?yàn)閟umif與Indirect函數(shù)引用的函數(shù)是個(gè)月符合條件的數(shù)值,是以數(shù)組形式體現(xiàn)的。所以最后使用SUM對(duì)數(shù)組求和的時(shí)候需要使用:ctrl+shift+enter三鍵求組。 案例二:求出表中12個(gè)月人員各月平均銷(xiāo)售額。與求和類(lèi)似,averageif的條件區(qū)域去條件值在這里我們同樣使用indirect進(jìn)行引用。 條件區(qū)域:INDIRECT(ROW($1:$12)&'!B:B') 條件參數(shù)值:INDIRECT(ROW($1:$12)&'!F:F') 條件求和函數(shù): =AVERAGE(IFERROR(AVERAGEIF(INDIRECT(ROW($1:$12)&'!B:B'),$B3,INDIRECT(ROW($1:$12)&'!F:F')),'')) 函數(shù)解析: 1:AVERAGEIF(INDIRECT(ROW($1:$12)&'!B:B'),$B3,INDIRECT(ROW($1:$12)&'!F:F')):當(dāng)個(gè)月的條件區(qū)域等于B3時(shí),對(duì)各月F:F列參數(shù)進(jìn)行平均; 2:IFERROR(AVERAGEIF,“”):與求和函數(shù)相比,此處多了IFerror函數(shù)在這里做一次判斷,當(dāng)我們AVERAGEIF函數(shù)對(duì)各月參數(shù)進(jìn)行判斷時(shí),如果這個(gè)月此人沒(méi)有數(shù)據(jù)我們判斷區(qū)域會(huì)顯示錯(cuò)誤值,如下圖: 所以必須用IFEEROR函數(shù)做判斷,當(dāng)求出的為錯(cuò)誤值時(shí),計(jì)算為空,這樣才不會(huì)計(jì)入到平均值里面去; 3:與求和一樣結(jié)束后需要使用:ctrl+shift+enter三鍵求組。 現(xiàn)在你學(xué)會(huì)如何根據(jù)實(shí)際情況使用Indirect函數(shù)進(jìn)行數(shù)據(jù)處理了嗎? |
|
|