我有这个范围... A1:D5
我想查找b =“ salary”的行,并将它们放在新表中。该部分非常简单,可以使用查询,过滤器,索引/匹配,vlookup和/或{arrays}通过多种方式完成。
我遇到问题的部分是,我希望将初始结果重复可变的次数。例如,如果我想搜索B =“ salary”的所有行,并且想在新表中重复该结果3次,我希望它看起来像这样。...
我已经使用上面提到的所有功能和技术进行了尝试,将它们与ArrayFormula结合使用时,我只会出现第一行。
我尝试过的一些方法如下
=ARRAYFORMULA(INDEX ('Employees'!A2:D5, MATCH("salary", 'Employees'!B2:B, 0)))
=ARRAYFORMULA(VLOOKUP("salary",Employees!B2:D, {1,2,3}, FALSE))
=ARRAYFORMULA(QUERY('Employees'!A2:D, "Select * where B = 'salary'", 0))
=ARRAYFORMULA(TRANSPOSE(QUERY(TRANSPOSE(QUERY(Employees!$A$2:$D, "SELECT * WHERE B = 'salary'", 0 )),"SELECT Col"&((row(J9:J30)-1)-(ROUNDDOWN((row(J9:J30)-1)/3,0)*3))+1&"",0)))
这里是可以使用的公式:
= iferror(arrayformula
(
split (
transpose (
split (
substitute (
textjoin (
"%",true,
if (
sequence(3)=sequence(3),
textjoin("%",false,filter({L2:N5,O2:O5&"$"} ,M2:M5="Salary"))
)
)
,"$%","$"
)
,"$",true,false
)
)
, "%", true,false
)
),"")
数据在L1:O5范围内,Sequence(3)是重复结果的数量,应将符号更改为您的特殊字符,以避免与您的数据冲突