[英]I want to apply, to a whole column, a formula that is already an arrayformula
[英]Apply complex formula to whole column using MAP or ARRAY FORMULA
这是我之前的问题的跟进。
@Martin和@rockinfreakshow帮助我分别使用MAP
和BYROW
转换以下公式。
F1单元格转换前的公式:
=if(Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(E1,$B:$B,0)+1&":$B"),2,false),"")=E1,"",Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(E1,$B:$B,0)+1&":$B"),2,false),""))
F1细胞中的公式溶液:
=MAP(D:D,E:E,LAMBDA(d,e,IFERROR(IF(d="","",INDEX(FILTER(B:B,A:A=d,ROW(B:B)>MATCH(e,B:B,0)),1)))))
正如我所期望的那样,解决方案是ARRAYFORMULA
包装,我会自己转换下一个公式,但事实并非如此。 所以我正在寻找你的帮助来转换这些:
G1 单元格中的公式:
=if(or(Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(F1,$B:$B,0)+1&":$B"),2,false),"")=E1,Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(F1,$B:$B,0)+1&":$B"),2,false),"")=F1)
,"",Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(F1,$B:$B,0)+1&":$B"),2,false),""))
和
H1单元格中的公式:
=if(or(Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(G1,$B:$B,0)+1&":$B"),2,false),"")=E1,Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(G1,$B:$B,0)+1&":$B"),2,false),"")=F1,Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(G1,$B:$B,0)+1&":$B"),2,false),"")=G1)
,"",Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(G1,$B:$B,0)+1&":$B"),2,false),""))
现在,我的期望是,如果我们能够找到 G1、H1 公式的解决方案,我应该能够将它复制到其他单元格I1,J1,K1..
中的公式。
我已经为您的测试链接了一张表格: https://docs.google.com/spreadsheets/d/13XLZvvdzK_mqr4Ous50cIEfernw2XrPJWvVgt1hFxtk/edit?usp=sharing
任何帮助深表感谢。
这是一个非常重的电子表格:您可以尝试删除 E:AU 中的所有数据并使用以下公式:
=ARRAYFORMULA(IFERROR (SPLIT(BYROW(D1:INDEX(D1:D,COUNTA(D1:D)),LAMBDA(v,TEXTJOIN(",",,FILTER(B:B,A:A=v)))),",")))
它加入每行的过滤值,然后将它们拆分到您想要的列中
我不确定这个公式到底是做什么的,但试试这个:
=ARRAYFORMULA(LAMBDA(res,if(res=E1:E11,,res))(XLOOKUP(D1:D11,A1:A11,B1:B11,,,-1)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.