借助MAP或ARRAY FORMULA为整列应用复杂公式求助
跟进请求:转换G1、H1单元格公式(基于MAP/BYROW的数组公式方案)
此前@Martin和@rockinfreakshow分别使用MAP函数帮我转换了F1单元格的公式,具体如下:
转换前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等后续单元格。
内容的提问来源于stack exchange,提问作者EagleEye
相关产品推荐
相关产品推荐

