我有一个如下所示的电子表格:
我在单元格 N2 中有以下公式:
=let(Λ,transpose(bycol(B2:F,lambda(Σ,if(xmatch(O1,Σ),vstack(index(1:1,column(Σ)),join(", ",filter(A2:A,Σ=O1))))))),filter(Λ,index(Λ,,2)<>""))
这个公式:
我想要做的是扩展此公式以考虑最多四个条件(从单元格 O1 到 R1),同时仍将 A 列中的相应值保留在相应的列中。此外,如果 O1:R1 中的任何单元格为空白,则不应将其视为标准。
以下是预期结果的示例:
工作表链接:https://docs.google.com/spreadsheets/d/1tprQIYEMgLRuyCMCQ0cDO_JDzWKdW-eTyXH76HJTeic
在 N2 中尝试以下操作,而不是原来的公式:
=arrayformula(let(
flatTbl,query(to_text(split(tocol(B1:F1&"|"&A2:A14&"|"&B2:F14),"|",,1)),"where Col2 is not null and Col3 is not null",0),
uniquePerCol,tocol(map(O1:R1,lambda(x,ifna(unique(filter(choosecols(flatTbl,1),choosecols(flatTbl,3)=x))))),1),
shared,sort(unique(filter(uniquePerCol,countif(uniquePerCol,uniquePerCol)=counta(O1:R1)))),
lookups,makearray(counta(shared),columns(O1:R1),lambda(r,c,textjoin(", ",1,ifna(query(flatTbl,"select Col2 where Col1='"&chooserows(shared,r)&"' and Col3='"&choosecols(O1:R1,c)&"'",0))))),
{shared,lookups}))
我不会尝试解释这一点!