Я хочу, чтобы эта формула вычисляла дату на основе ввода двух других дат. Сначала я написал его для одной ячейки, и он дает ожидаемые результаты, но когда я пытаюсь использовать ARRAYFORMULA, он возвращает неправильные результаты.
Сначала я использую два оператора if, определяющих, что должно произойти, если какой-либо из входных данных отсутствует. Затем последний оператор if вычисляет дату, если присутствуют оба, на основе двух условий. Кажется, это отлично работает, если я пишу формулу для одной ячейки и перетаскиваю ее вниз.
=ЕСЛИ((ДЛСТР(G19)=0);(U19+456);(ЕСЛИ((ДЛСТР(U19)=0);(G19);(ЕСЛИ((И((G19<(U19+456)); (G19>(U19+273)) ));(G19);(U19+456)))))
Однако, когда я хочу использовать формулу массива, чтобы применить ее ко всему столбцу, она всегда возвращает value_if_false, если ни одна из ячеек не пуста, независимо от того, действительно ли выполняются условия в операторе if или нет. Я конкретно говорю о последней части формулы, которая вычисляет дату, если присутствуют оба входных значения, она всегда возвращает результат U19:U+456, даже если результат должен быть G19:G. Вот как я пытался написать ФОРМУЛУ МАССИВА:
={"Дата крайнего срока";МАССИВ ФОРМУЛА(ЕСЛИ((ДЛСТР(G19:G400)=0);(U19:U400+456);(ЕСЛИ((ДЛСТР(U19:U400)=0); (G19:G400); (ЕСЛИ((И((G19:G400<(U19:U400+456));(G19:G400>(U19:U400+273)) ));(G19:G400);(U19:U400+456)) )))))}
Я полный новичок, который научился писать формулы только две недели назад, поэтому любая помощь или советы будут очень признательны!
Решение проблемы
ANDи ORне совместимы сARRAYFORMULA
Замените их на *или+
Пытаться
={"Date deadline";ARRAYFORMULA(
IF((LEN(G19:G400)=0),(U19:U400+456),
(IF((LEN(U19:U400)=0), (G19:G400),
(IF((((G19:G400<(U19:U400+456))*(G19:G400>(U19:U400+273)) )),(G19:G400),
(U19:U400+456)))
))
)
)}
Комментариев нет:
Отправить комментарий