絕大多數Excel函數都可以忽略傳遞給它們的布爾值(有時還有其他非數字值)。因此,它們可以有效地縮小操作的范圍,該范圍內僅包含非布爾值(或數字),這樣使我們可以在函數中包含條件語句(通常使用IF函數),從而限制公式構造最終要處理的值。
例如下所示的工作表:
可使用公式:
=LINEST(INDEX(B:B,N(IF(1,MODE.MULT(IF(A2:A11=D1,{1,1}*ROW(A2:A11)))))))
好!有了上面的基礎后,我們可以將示例進行變化。例如,如果想要操作列B中的數字單元格,可以使用公式:
=LINEST(INDEX(B:B,N(IF(1,MODE.MULT(IF(ISNUMBER(B2:B11),{1,1}*ROW(B2:B11)))))))
同樣,如果要對第二個參數進行類似的限制,則只需對它進行必要的修改即可重復使用此技術。繼續使用LINEST作為示例,我們可能經常遇到這樣的情況,即必須限制傳遞給該函數的第二個參數known_x的范圍。這樣,可以構造公式:
=LINEST(INDEX(B:B,N(IF(1,MODE.MULT(IF(A2:A11=”X”,{1,1}*ROW(B2:B11)))))),INDEX(C:C,N(IF(1,MODE.MULT(IF(A2:A11=”X”,{1,1}*ROW(C2:C11)))))))