M365
=LET(aa,原食谱!A5:A999,cc,原食谱!C5:C999,d,SCAN(,aa,LAMBDA(x,y,IF(LEFT(y,2)="星期",y,x))),c,SCAN("",aa,LAMBDA(x,y,IF(RIGHT(y)="餐",y,x))),m,SCAN("",原食谱!B5:B999,LAMBDA(x,y,IF((y<>"菜名")*(y<>""),y,x))),f,FILTER(HSTACK(d,c,m,cc,原食谱!E5:E999),(cc<>"")*(cc<>"材料")),cl,REGEXEXTRACT(INDEX(f,,4),"\pL+"),ck,cl&"("&TAKE(f,,-1)&"g)",w,TAKE(f,,1),REDUCE(原食谱!A1,UNIQUE(w),LAMBDA(x,y,LET(q,FILTER(HSTACK(INDEX(f,,2),INDEX(f,,3),ck),w=y),IFNA(VSTACK(x,VSTACK(y,{"用餐分类","菜名","材料"},GROUPBY(TAKE(q,,2),TAKE(q,,-1),ARRAYTOTEXT,0,0,-1))),"")))))
|