INDEX( SMALL( IF(...導致今天 #NUM,昨天是正確的

INDEX( SMALL( IF(...導致今天 #NUM,昨天是正確的
{=INDEX(Sheet1!$A:$M,SMALL(IF(Sheet1!$O:$O=TRUE,ROW(Sheet1!$O:$O)),ROW(1:1)),1)}

昨天它充滿了有用的值,今天#NUM每個單元格中都有錯誤。不確定出了什麼問題?有什麼想法嗎?

正在檢查的「TRUE」是基於邏輯表(O 列),該邏輯表檢查 4 列是否符合條件。我這樣做是因為數組公式中的 AND/OR 有問題。而且我還不太擅長excel。這是表 1 上 O 列的程式碼。

=IF(AND(OR($I:$I="D",$I:$I="none",$I:$I="NA"),
        OR($J:$J="D",$J:$J="none",$J:$J="NA"),
        OR($K:$K="D",$K:$K="none",$K:$K="NA"),
        OR($L:$L="D",$L:$L="none",$L:$L="NA")),
     TRUE,FALSE)

因此,如果這是 TRUE,請給我找到 TRUE 的行,並建立一個從第一行開始的行數組 (ROW(1:1))。然後它給出了 INDEX 範圍第一列中的對應值。

答案1

原來的公式是一個陣列公式。也就是說,要正常工作,必須使用Ctrl+ Shift+Enter組合鍵輸入。輸入正確後,公式將顯示{=...}在公式列中。如果缺少此內容,則您已確定問題所在。

數組公式非常挑剔。如果您雙擊包含陣列公式的儲存格,或按一下選取了此類儲存格的編輯欄,然後按Enter,您將刪除陣列項目並破壞公式。這就解釋了為什麼一個在一分鐘內有效的公式可能會無緣無故地停止工作。

若要解決此問題,請選擇包含公式的儲存格,按一下編輯欄,然後按Ctrl+ Shift+ Enter

相關內容