2011年12月11日 星期日

Excel-跨工作表使用COUNTIF函數

【網友問題】

有網友問到:=COUNTIF('0'!F5,B2)+COUNTIF('1'!F5,B2)+COUNTIF('2'!F5,B2)+.......

請問像這樣各工作表的加總有沒有比較簡便的公式,因為目前有一百頁左右的工作表需要加總,麻煩您了,我嘗試過用"*"但是沒有用,算不出答案。

 

【題目假設】

我把題目假設為如下的工作表(參考下圖)共有多個工作表(名稱1~6),每個工作表的B欄都有10個數字。如果要根據儲存格E1的條件,要把這 6 個工作表中符合條件的數字找出來並加總。

注意:工作表名稱故意定成有次順序性的數字。

 

【問題解決】

儲存格E2:=SUMPRODUCT(COUNTIF(INDIRECT(ROW(1:6)&"!B2:B11"),E1))

因為 COUNTIF 函數在跨工作表時會有問題,所以透過INDIRECT函數來定義位址。

INDIRECT(ROW(1:6)&"!B2:B11"):取得跨工作表儲存格位址「'1:6'!B2:B11」。

COUNTIF(INDIRECT(ROW(1:6)&"!B2:B11"),E1):取得每個工作表的經由 COUNTIF 函數計算的結果。

再將上式經過 SUMPRODUCT 函數將這 6 個工作表中所得的數值陣列加總即為結果。

沒有留言:

張貼留言

檢視其他文章

好康東東