相關函數:IF() / MAX() / MIN()
陣列公式雖然好用,但是在公式撰寫和除錯時也比較麻煩,最主要的原因,就是因為陣列公式的運算過程是在 Excel 內部進行,如果出了問題,從外面不容易看出錯誤的地方。因此,能夠顯示出陣列公式運算過程中的陣列內容,對於理解陣列公式的原理,撰寫公式和除錯,都有很大的幫助。
##CONTINUE##
要顯示陣列內容,有三個步驟,假設陣列大小是 10,則- 先反白選擇 10 個空白儲存格,如 D2:D11
- 滑鼠游標移到上方的編輯列,輸入公式
- 按 CTRL+SHIFT+ENTER 完成輸入
舉例來說,如上表,A2:A11 是原始資料,C2:C3 是 SUMIF() 和 COUNTIF() 的結果。現在,如果我們想做出類似 MAXIF() 或 MINIF() 的功能,也就是先用 IF() 過濾原始資料之後,再選出過濾之後的最大值或最小值,應該怎麼做?
利用陣列公式的原理,我們可以建立一個陣列,來暫時存放過濾之後的內容值,再根據陣列內容值找出最大值或最小值即可。上表中的 D2:D11,就是以「小於 10」為條件,過濾出來的結果,公式為
{=IF(A2:A11<10,a2:a11,"")}
你可以看見所有十個元素的內容值。
整合 MAX() 和上面的陣列公式,在 C3 輸入完整陣列公式
{=MAX(IF(A2:A11<10,a2:a11,""))}
就可以達成類似 MAXIF() 的功能了。
MINIF() 的公式?看懂了 MAXIF(),MINIF() 一定不成問題的,對吧!
注意:D2:D11 一旦形成一個陣列公式之後,就不能單獨修改或刪除某一個元素,而必須全體一併修改或一併刪除才行,否則會出現上表中的警告訊息。
0 意見:
張貼留言