79557281

Date: 2025-04-05 17:06:19
Score: 0.5
Natty:
Report link

Thanks to Mayukh Bhattacharya that solved the problem by suggesting to wrap the idx inside a MAX(idx, 1) function when using it inside MAKEARRAY!

Final function looks like that:

=LET(
dataAll;        PromoTbl[[SO_inizio]:[SO_ fine]];
daySel;         D$6;
cliente;        DASHBOARD!$B$2;
filtroCliente;  (PromoTbl[[L6]:[L6]]=cliente);
filterWk;   ((BYROW(PromoTbl[[SO_ fine]:[SO_ fine]];LAMBDA(row;MIN(daySel+7;row)))-BYROW(PromoTbl[[SO_inizio]:[SO_inizio]];LAMBDA(row;MAX(daySel;row)))+1)>=1);
filterWkBef;  ((BYROW(PromoTbl[[SO_ fine]:[SO_ fine]];LAMBDA(row;MIN(daySel-1;row)))-BYROW(PromoTbl[[SO_inizio]:[SO_inizio]];LAMBDA(row;MAX(daySel-7;row)))+1)>=1);
dataWk;         SORT(FILTER(dataAll;filtroCliente*filterWk;"NA"));
dataWkBef;      SORT(FILTER(dataAll;filtroCliente*filterWkBef;"NA"));
listWk;         BYROW(dataWk;LAMBDA(row;IFERROR(TEXT(CHOOSECOLS(row;1);"gg-mmm-aa") & "|" & TEXT(CHOOSECOLS(row;2);"gg-mmm-aa");"")));
listWkBef;      BYROW(dataWkBef;LAMBDA(row;IFERROR(TEXT(CHOOSECOLS(row;1);"gg-mmm-aa") & "|" & TEXT(CHOOSECOLS(row;2);"gg-mmm-aa");"")));
firstRow;       TAKE(listWk;1);
idx;            MAX(IFERROR(MATCH(firstRow;listWkBef;0);1);1);
spaces;         MAKEARRAY(idx;1;LAMBDA(r;c;""));
newArr;         DROP(VSTACK(spaces;listWk);1);
newArr
)
Reasons:
  • Blacklisted phrase (0.5): Thanks
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Paolo De Laurentiis