将 QUERY 结果的 GROUPS 组转置为单列
Posted
技术标签:
【中文标题】将 QUERY 结果的 GROUPS 组转置为单列【英文标题】:Transpose GROUPS of QUERY results to single column 【发布时间】:2020-01-05 03:41:59 【问题描述】:我在TRANSPOSE
'ing 我的QUERY
结果时遇到了困难。结果以五个为一组,并且已经从行到列转置一次。现在每个结果都在 5 行的列中,我想将 那些 结果合并到一个列中,最好在每个组之间留一个空格。
这是我目前得到的:
这就是我想要实现的目标:
Here is the link to my sheet
【问题讨论】:
如果没有google-sheet-script
,我认为它是可能的
【参考方案1】:
在弄清楚你在样品表上的目标之后,我想出了这个公式。它比通常情况下这样的重制要复杂一些,因为您希望它仅限于小队选项卡中的前 5 名球员。
=ARRAYFORMULA(SUBSTITUTE(QUERY(VLOOKUP(SEQUENCE(COUNTA('Squad Compositions'!B4:B)*6,1,0)/6+4,ROW('Squad Compositions'!B4:B), '小队组成'!B4:B,ARRAY_CONSTRAIN(IFERROR(SPLIT(TRANSPOSE(TRIM(QUERY(TRANSPOSE(IF('小队组成'!E4:S="",,'小队组成'!E4:S&CHAR(10))) ),,15))),CHAR(10)&" ",0)),9^99,5),IF(ROW('Squad Compositions'!B4:B),"|"),MOD(SEQUENCE (COUNTA('Squad Compositions'!B4:B)6,1,0),6)0,1+2,3),"其中 Col2 不为空"), "|",""))
希望这会有所帮助。
【讨论】:
【参考方案2】:这里是公式,在 B10 中:
= arrayformula(
transpose
( split(join(rept(",",6),
filter('Squad Compositions'!B4:B,'Squad Compositions'!B4:B<>""))
,",",true,false)
),(
transpose(split(substitute(textjoin( "%",false,
filter ('Squad Compositions'!E4:I,'Squad Compositions'!B4:B<>""),
left(filter('Squad Compositions'!E4:E&"",'Squad Compositions'!B4:B<>""),0)
)& "$","%$",""),"%",true,false))
)
)
【讨论】:
脱帽致敬!太棒了! 非常感谢您提供的公式!在到达带有逗号的单元格/团队名称之前,它工作得很好。试图弄清楚如何更改分隔符,但到目前为止,没有运气。 是的,因为如果包含逗号,公式将不起作用以上是关于将 QUERY 结果的 GROUPS 组转置为单列的主要内容,如果未能解决你的问题,请参考以下文章