1

У меня есть формула в Excel, проверяющая диапазон и возвращающая только те ячейки, которые содержат Monday .

Тем не менее, некоторые ячейки в диапазоне имеют #N/A и это приводит к нарушению моей формулы.

Если я удаляю их, то это снова работает отлично, я не хочу постоянно проверять N/A' хотя есть ли способ предотвратить их влияние на мою формулу?

=IFERROR(INDEX(A$2:A$1000,SMALL(IF($D$2:$D$1000 = "Monday", ROW(A$2:A$1000)-ROW(A$2)+1),ROWS(A$2:A2))),"")

Есть моя формула на случай, если это как-то связано с этим. Я заметил, что он только кажется сломанным, если оператор If встречает ячейку с N/A

Например, если он был в ячейке A500 , я могу сохранить диапазон индексов до 1000 , но придется изменить диапазоны в операторе If до 499.

1 ответ1

1

Вы должны поместить проверку на ошибки в ту часть, которая использует массив, где вы найдете ошибку.

В вашем примере столбец D возвращает ошибку, и это используется в SMALL части вашей формулы,

Поэтому поместите часть массива SMALL в IFERROR и вместо возврата "" верните большое число, так как вы ищете только SMALL, т.е. 9999999 будет больше, чем любая строка в диапазоне A2:A1000.

Надеюсь, что это имело смысл, в любом случае, смотрите результат ниже:

{=IFERROR((INDEX(A$2:A$1000,SMALL(IFERROR(IF($D$2:$D$1000="Monday",ROW(A$2:A$1000)-ROW(A$2)+1),999999999),ROWS(A$2:A2)),1)),"")}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .