У меня есть рабочая формула, но проблема со столбцом 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)))))), "" )