Почему этот оператор Google Sheets IF возвращает «#Value» вместо «0»

#if-statement #google-sheets #google-sheets-formula

#if-statement #google-sheets #google-sheets-formula

Вопрос:

У меня есть довольно простой оператор IF в моем Google sheet:

 =IF(SEARCH("PM",K2)>0,1,0)
  

По сути, я спрашиваю, есть ли в ячейке K2 «PM». K2 — это время в формате «H: MM: SS AM / PM». Когда это возвращает значение true, оно дает мне значение «1», в противном случае оно выдает мне «#VALUE» с ошибкой

При оценке ПОИСКА не удается найти «PM» в пределах «8:02:48 AM».

Почему, черт возьми, это не вернет значение «0»?

Ответ №1:

Вот как SEARCH это работает. Он возвращается #VALUE! , если строка не найдена. Если вы хотите 0, я предлагаю

 =IFERROR(N(SEARCH("AM",K2)>0),0)
  

Предназначен N для последовательного ввода данных. Или даже короче:

 =IFERROR(1^SEARCH("PM",K2),0)
=IFERROR(SEARCH("PM",K2)^0,0)