Как работать с пустыми ячейками в операторе ЕСЛИ (ИЛИ)

Как работать с пустыми ячейками в операторе ЕСЛИ (ИЛИ)

У меня есть рабочая формула, но проблема со столбцом G.

Если ячейка в столбце G пустая, то возвращается#ЦЕНИТЬ.

Кто-нибудь знает простой способ это исправить?

Формула ниже:

=IF(OR(L$3 < $G4,L$3 > $H4-1,$D4="None"),0,IF($D4="Once",IF(L$3=$G4,$F4,0),IF($D4="Daily",$J4,IF($D4="Weekly",$J4,IF($D4="Monthly",$J4,IF($D4="Quarterly",$J4))))))

Большое спасибо!

решение1

jatulle прав, обернув его в iferror, вы получите полный ответ. Однако это также скроет любую другую ошибку, которая возникает в любой из вложенных формул. Это может вам понравиться, а может и нет.

Другой способ упаковки — поставить галочку напротив пробела спереди.

  • if($g4="","", {Остальная часть исходной формулы},"")

в формуле так что $g4 пусто ячейка остается пустой. Если у меня есть несколько ячеек и я хочу сделать это только когда все имеют значения, то я использую ИЛИ, например

  • if(or($g4="",L$3=""),{Остальная часть исходной формулы },"")

Наконец, если я буду использовать это в нескольких местах, я преобразую это в имя [используя менеджер имен на ленте]

  • Действительный = или ($g4="",L$3)

то он будет использоваться как

  • Если(Valid,{Остальная часть исходной формулы},"")

Я предпочитаю использовать имя типа Valid вместо or($g4=""), с ним будет проще работать позже, если мне понадобится что-то изменить.

Наконец, я продолжил использовать $g4="" вместо isblank($g4). ISblank можно использовать, если вам так удобнее.

решение2

Оберните всю формулу IFERROR( anything , "value if error" )следующим образом:

=IFERROR(IF(OR(L$3 < $G4,L$3 > $H4-1,$D4="None"),0,IF($D4="Once",IF(L$3=$G4,$F4,0),IF($D4="Daily",$J4,IF($D4="Weekly",$J4,IF($D4="Monthly",$J4,IF($D4="Quarterly",$J4)))))), "" )

Связанный контент