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」は、4 つの列が基準を満たしているかどうかを確認するロジック テーブル (列 O) に基づいています。配列数式での 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 が見つかった行が返され、1 行目 (ROW(1:1)) から始まる行の配列が作成されます。次に、INDEX 範囲の 1 列目の対応する値が返されます。

答え1

元の数式は配列数式でした。つまり、正しく機能させるには、Ctrl+ Shift+Enterキーの組み合わせを使用して入力する必要があります。正しく入力すると、数式は数式バーに で囲まれて表示されます{=...}。これがない場合は、問題を特定したことになります。

配列数式は、厄介なほど扱いにくいものです。配列数式を含むセルをダブルクリックするか、そのようなセルを選択した状態で数式バーをクリックして を押すと、Enter配列エントリが削除され、数式が壊れてしまいます。これにより、ある瞬間は機能していた数式が、理由もなく機能しなくなることがあります。

これを修正するには、数式を含むセルを選択し、数式バーをクリックして、Ctrl+ Shift+を押しますEnter

関連情報