1

Я использую следующую формулу и попробовал несколько способов устранить #VALUE! ошибка без какого-либо успеха.

Вот формула:

=IF(SEARCH("Agent Name & ID:",A14)>0,(A15)*60*24,"") 

если поиск действителен, я получаю правильный результат, однако, если он не действителен, я получаю # #VALUE! ошибка, а не пустая ячейка, обозначенная "".

Пожалуйста, помогите, я не уверен, что я делаю неправильно.

2 ответа2

0

Как вы сказали, проблема в функции ПОИСК. Ir возвращает #VALUE, когда не находит указанную строку («Имя и идентификатор агента:») в этом примере

Попробуйте использовать функцию IfError вместо IF

http://office.microsoft.com/en-001/excel-help/iferror-function-HA001231765.aspx

0

Похоже, что ваша формула поиска возвращает значение #Value! ошибка, прежде чем он доберется до формулы IF. Попробуйте обернуть ваш ПОИСК с помощью IFERROR, чтобы обработать его до того, как он будет вычислен по формуле IF.

=IF(IFERROR(SEARCH("Agent Name & ID",A14),"")<>"",(A15)*60*24,"")

Это оценит SEARCH и, если найдет String, вернет значение из A14, в противном случае вернет пробел. Затем оператор IF возвращает пустое значение для пустого или рассчитанное вами значение из A15.

Вы также можете сделать это с помощью одной формулы IFERROR, как предложила Милена Петрович, но вам нужно добавить дополнительный расчет. Это также должно работать:

=IFERROR((SEARCH("Agent ID & Name",A14)*0)+((A15)*60*24),"")

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

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