将QUERY组的结果转置为单列

问题描述 投票:1回答:2

我在TRANSPOSE的结果QUERY上遇到困难。结果以五个为一组,并且已经从行到列转置一次。现在每个结果都在5行的列中,我想将these结果合并到一个列中,最好在每组之间留一个空格。

这是我目前得到的:enter image description here

这就是我要实现的目标:

enter image description here

Here is the link to my sheet

google-sheets google-sheets-formula transpose array-formulas google-sheets-query
2个回答
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 =“” ,,'小队成员'! ,, 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不为空”),“ |”, “”))

希望这会有所帮助。


1
投票

这里是公式,在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))
      })
    }
  )
© www.soinside.com 2019 - 2024. All rights reserved.