Вложенные функции if в arrayformula

#google-sheets #google-sheets-formula #array-formulas

#если-заявление #google-листы #google-таблицы-формула #массив-формулы #вложенные-если

Вопрос:

У меня есть эта формула (1) в Google таблицах:

 =IF($A2="","",IF(AND(($G2 lt;= EOMONTH(TODAY(),-5)),($G2 lt;gt; ""),OR($H2 gt; EOMONTH(TODAY(),-5),$H2 = ""),OR($E2 gt; EOMONTH(TODAY(),-5),$E2 = "")),1,0))  

который я хочу преобразовать в arrayformula. Я попробовал эту формулу (2), но получил ошибку «#N/A не совпадает» :

 =ARRAYFORMULA (   IFs (  ROW(A:A) = 1, "Contract Published, " amp; TEXT(EDATE(TODAY(),-5),"mmm-YY"),  IF(AND((G:G lt;= EOMONTH(TODAY(),-5)),(G:G lt;gt; ""),OR(H:H gt; EOMONTH(TODAY(),-5),H:H = ""),OR(E:E gt; EOMONTH(TODAY(),-5),E:E = "")),1,0),) )  

Я также попробовал эту формулу (3), но получил «Ошибку разбора формулы».

 =ARRAYFORMULA (   IF(ROW(A:A) = 1, "Contract Published, " amp; TEXT(EDATE(TODAY(),-5),"mmm-YY")),  IF((G:G lt;= EOMONTH(TODAY(),-5),G:G lt;gt; ""),  IF((H:H gt; EOMONTH(TODAY(),-5),H:H = ""),   IF((E:E gt; EOMONTH(TODAY(),-5),E:E = "")),1,0)))  

У кого-нибудь есть идея, что я делаю не так, или как я могу преобразовать формулу (1) в Arrayformula?

Комментарии:

1. Работает ли формула (1) так, как вы хотите ? Это не кажется логичным. Может быть =IF($A2="","",IF(AND( OR($G2 lt;= EOMONTH(TODAY(),-5),($G2 lt;gt; ""), OR($H2 gt; EOMONTH(TODAY(),-5),$H2 = ""), OR($E2 gt; EOMONTH(TODAY(),-5),$E2 = "") )),1,0)) ?

2. Да, формула (1) работает нормально, но я пытаюсь преобразовать ее в форму массива, поэтому при добавлении новых данных на лист они вычисляются автоматически.

3. Можете ли вы предоставить электронную таблицу ?

Ответ №1:

попробуйте в строке 2:

 =ARRAYFORMULA(IF(A2:A="",,  IF(((G2:G lt;= EOMONTH(TODAY(), -5))*   (G2:G lt;gt; "")*  ((H2:H gt; EOMONTH(TODAY(), -5))   (H2:H = ""))*  ((E2:E gt; EOMONTH(TODAY(), -5))   (E2:E = ""))), 1, 0)))  

Комментарии:

1. Это сработало! Спасибо!