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в каждой ячейке ошибки. Не уверен, что пошло не так? Есть мысли?

Проверяемое значение "ИСТИНА" основано на логической таблице (столбец O), которая проверяет, соответствуют ли 4 столбца критериям. Я сделал это из-за проблем с AND/OR в формулах массива. И я пока не очень хорошо владею Excel. Это код в столбце O на листе 1.

=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)). Затем он даст мне соответствующее значение в 1-м столбце диапазона INDEX.

решение1

Исходная формула была формулой массива. То есть, для правильной работы ее необходимо вводить с помощью комбинации клавиш Ctrl+ Shift+ Enter. При правильном вводе формула будет отображаться {=...}в строке формул, заключенной в . Если этого нет, то вы определили проблему.

Формулы массива раздражающе капризны. Если вы когда-нибудь дважды щелкните ячейку, содержащую формулу массива, или щелкните в строке формул, когда такая ячейка выбрана, а затем нажмете Enter, вы удалите запись массива и сломаете формулу. Это объясняет, как формула, которая работала минуту, может перестать работать, казалось бы, без всякой причины.

Чтобы исправить это, выберите ячейку, содержащую формулу, щелкните в строке формул, а затем нажмите Ctrl+ Shift+ Enter.

Связанный контент