Google таблица, нужна помощь с формулой массива
Есть формула в google таблице "реестр договоров", которая составляет номер договора по нескольким параметрам, такие как дата внесения договора, количество дней отсрочки, регион. Вот эта формула:
=IF(NOT(ISBLANK(F416));IF(AND(NOT(ISBLANK(A416));NOT(ISBLANK(F416));NOT(ISBLANK(C416)));"";CONCATENATE(LEFT(YEAR(D416);2);".";A416;"/";IF(H416="Предоплата";"П";H416);"-";I416));"")
Можно переделать формулу так, чтобы она работала как формула массива на всю таблицу? ссылка-пример
Ответы (1 шт):
Автор решения: contributorpw
→ Ссылка
Предупреждение. Лично я считаю нелепостью генерацию динамических номеров договоров. Номер - это индекс, статический элемент, обусловленный входящими данными, генерируемый ОДНАЖДЫ.
Множественная конкатенация не поддерживается формулами массива, поэтому используют либо конкатенацию через &, либо побочные эффекты других формул.
=ARRAYFORMULA(
IF((A2:A="")*(C2:C="")*(F2:F="");
"-";
TEXT(D2:D;"yy\.")&A2:A&"/"&IF(H2:H="Предоплата";"П";H2:H)&"-"&I2:I)
)
