将 QUERY 结果的 GROUPS 转置为单列

Transpose GROUPS of QUERY results to single column

我很难 TRANSPOSE 获得 QUERY 结果。结果以五个为一组,并且已经从行到列转置一次。现在每个结果都在 5 行的列中,我想将 those 结果合并到一个列中,最好在每个组之间有一个 space。

这是我目前得到的:

这就是我要实现的目标:

Here is the link to my sheet

这里是公式,在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))
      })
    }
  )

在进一步了解您的样本 sheet 之后,我想出了这个公式。这比像这样的重新制表通常要复杂一些,因为您希望它仅限于小队选项卡中的前 5 名球员。

=ARRAYFORMULA(SUBSTITUTE(查询(VLOOKUP(序列(计数('Squad Compositions'!B4:B)*6,1,0)/6+4,{ROW('Squad Compositions'!B4 :B),'Squad Compositions'!B4:B,ARRAY_CONSTRAIN(IFERROR(SPLIT(移调(TRIM(查询(移调(IF('Squad Compositions'!E4:S="" ,'Squad Compositions'!E4:S&CHAR(10))),15)),CHAR(10)&" ",0)),9^99,5),IF(ROW('Squad Compositions'!B4:B),"|")},MOD(序列(计数('Squad Compositions'!B4:B)6,1,0),6){0,1}+{2,3}),"where Col2 is not null"),"|",""))

希望对您有所帮助。