keyword:excel陣列公式 問題 我要設計一個函數程式,可是一直有錯誤,請高手幫我訂正! 目地:要算從c1-c100列中,算出大於19.99,小於或等於29.99,總共有幾個item 我用下面的方程式,可是有錯誤,可以幫我找蟲嗎? =COUNTIF(C1:C100,">19.99,<=29.99") 回答: CountIF 函數的語法不接受兩個以上的條件 因此使用陣列公式,可以有效快速處理多個條件的儲存格個數問題。 公式如下: =SUM(IF((C1:C100>19.99)*(C1:C100<=29.99),1)) 由於是陣列公式,完成時不是直接按 Enter 按鍵,需要按 Ctrl + Shift + Enter 否則會出現錯誤訊息。 說明如下: (C1:C100>19.99) 陣列拆開之後就是 C1>19.99,C2>19.99,C2>19.99....C100>19.99 如果 C1>19.99 是「真」時,就傳回 True;否則傳回 False。而 True 在 Excel 中剛好是 1;而 False 是 0 因此,只有 True*True 才會得到 1。對於 IF 函數來說, 語法為 IF(判斷式,True,False) ,只有在判斷式的引數部份得到 True 時(也就是 1 時) ,才會將 True 的引數部份加以計算出結果。 (C1:C100>19.99)*(C1:C100<=29.99) 陣列拆開之後就是 (C1>19.99)*(C1<=29.99),(C2>19.99)*(C2<=29.99),(C3>19.99)*(C3<=29.99)...(C100>19.99)*(C100<=29.99),只有 (Cn>19.99)與(Cn<=29.99) 兩個都同時為真(True)時,才會得到 1。 SUM(IF((C1:C100>19.99)*(C1:C100<=29.99),1)) 翻成口語,意義如下: 假如陣列 C1:C100>19.99 且 C1:C100<=29.99 得到真時,計算結果就得到 1,否則得到 0(此陣列公式已經將 [假] 的引數部分予以省略),再將陣列 1 或 0 部份使用 SUM 給予加總之。
創作者介紹
創作者 FUTURE ATM 的頭像
David

FUTURE ATM

David 發表在 痞客邦 留言(0) 人氣( 2617 )