Arrays 如何使用ArrayFormula从一个范围中多次查找相同的值
我有这个范围……A1:D5 我想查找b=salary的行,并将它们放在一个新表中。 这一部分相当简单,可以使用查询、筛选、索引/匹配、vlookup和/或{array}以多种方式完成 我遇到的问题是,我希望初始结果重复可变次数。例如,如果我想搜索B=salary的所有行,并且我想在新表中重复该结果3次,我希望它看起来像这样 我已经使用上述所有函数和技术尝试了这一点,并且只有在将它们与ArrayFormula结合使用时,我才能获得显示的第一行 我尝试过的一些方法如下Arrays 如何使用ArrayFormula从一个范围中多次查找相同的值,arrays,google-sheets,google-sheets-formula,transpose,array-formulas,Arrays,Google Sheets,Google Sheets Formula,Transpose,Array Formulas,我有这个范围……A1:D5 我想查找b=salary的行,并将它们放在一个新表中。 这一部分相当简单,可以使用查询、筛选、索引/匹配、vlookup和/或{array}以多种方式完成 我遇到的问题是,我希望初始结果重复可变次数。例如,如果我想搜索B=salary的所有行,并且我想在新表中重复该结果3次,我希望它看起来像这样 我已经使用上述所有函数和技术尝试了这一点,并且只有在将它们与ArrayFormula结合使用时,我才能获得显示的第一行 我尝试过的一些方法如下 =ARRAYFORMULA(I
=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范围内,Sequence3是重复结果的次数,符号应更改为特殊符号,以避免与数据冲突
=ARRAYFORMULA(SUBSTITUTE(SPLIT(TRANSPOSE(SPLIT(REPT(TEXTJOIN("♦", 1,
FILTER({"♥♠"&A2:A, B2:D}, B2:B="salary")), 3), "♥")), "♦"), "♠", ))
请尝试使用文本连接和拆分作为补充这些都是很好的解决方案,谢谢!。我唯一的补充问题是如何为数组的值添加前缀?Textjoin作为一个除虫剂添加到了结尾,但我不能为我的生命添加到前面。例如,我想向{003%salary%bi-weekly%50000;002%salary%bi-weekly%50000}中的每个数组字符串值添加hi,以获得此结果{hi%003%salary%bi-weekly%50000;hi%002%salary%bi-weekly%50000}请尝试:=ArrayForMulayFormulaSubstituteSplitTransposeSplitRepttextJoin♦, 1、过滤器{♥♠嗨&A2:A,B2:D},B2:B=薪水,3,♥, ♦, ♠, 刚刚想到的=JOINhi,{,1,2,3,4},{3,4,5,6}….似乎很管用。有更好的解决方案吗?这两个都是很好的解决方案,谢谢!。我唯一的补充问题是如何为数组的值添加前缀?Textjoin作为一个除虫剂添加到了结尾,但我不能为我的生命添加到前面。例如,我想在{003%salary%bi-weekly%50000;002%salary%bi-weekly%50000}中的每个数组字符串值中添加hi,以获得这个结果{hi%003%salary%bi-weekly%50000;hi%002%salary%bi-weekly%50000}将{L2:N5,O2:O5&$}更改为{leftL2:L5,0&hi,L2:N5,O2:O5&$}