Excel - нет данных В ячейке происходит разрыв диапазона поиска формулы

229
Edward Hall

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

Однако у некоторых ячеек в диапазоне есть, #N/Aи это заставляет мою формулу ломаться.

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

=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
PeterH

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

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

Поэтому SMALLзаключите часть массива в IFERROR, и вместо возврата "" верните большое число, так как вы ищете только МАЛЕНЬКИЙ, т. Е. 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)),"")} 
Отлично, спасибо большое! Edward Hall 5 лет назад 0

Похожие вопросы