Excel ДВССЫЛ, чтобы игнорировать ошибки

Я ищу способ заставить формулу INDIRECT игнорировать ошибки и вместо этого печатать 0. У меня он работает по кругу, но хотелось бы поаккуратнее.

У меня есть формула INDIRECT для загрузки ячейки с отдельного листа

=INDIRECT("'Invoice (2)'!A1")

Причина, по которой я использовал INDIRECT, заключается в том, что когда лист с именем «Счет-фактура (2)» недоступен (т. Е. Я временно удалил его), он не меняет мою формулу.

Однако. Когда НЕТ листа «Счет-фактура (2)», я получаю сообщение об ошибке: #REF! Я бы предпочел, чтобы результат был «0».

У меня есть работа, скрывающая это поле, а затем ссылающаяся на него в поле AGGREGATE =AGGREGATE(9,6,N19) - 6 игнорирует любые ошибки и ставит «0» на место, и это работает отлично.

Поэтому я думаю, мне просто любопытно, есть ли способ объединить их, чтобы сделать их более аккуратными. Вы могли бы подумать, что для других команд, кроме агрегата, будет «ошибка игнорирования».

Я пробовал =AGGREGATE(9,6,INDIRECT("'Invoice (2)'!A1")), и скрипт находит данные в порядке, но не игнорирует ошибки, как должен.


person user2956284    schedule 11.11.2014    source источник


Ответы (1)


Оберните формулу функцией ЕСЛИОШИБКА следующим образом:

=IFERROR(INDIRECT("'Invoice (2)'!A1"),0)
person pnuts    schedule 11.11.2014
comment
большое спасибо :) Это сработало. Гораздо элегантнее, чем мой подход. Google не был моим другом в этом случае. - person user2956284; 12.11.2014