【问题标题】:Transpose GROUPS of QUERY results to single column将 QUERY 结果的 GROUPS 组转置为单列
【发布时间】:2020-01-05 03:41:59
【问题描述】:

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

这是我目前得到的:

这就是我想要实现的目标:

Here is the link to my sheet

【问题讨论】:

  • 如果没有google-sheet-script,我认为它是可能的

标签: google-sheets google-sheets-formula transpose array-formulas google-sheets-query


【解决方案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))
          })
        }
      )
    

    【讨论】:

    • 脱帽致敬!太棒了!
    • 非常感谢您提供的公式!在到达带有逗号的单元格/团队名称之前,它工作得很好。试图弄清楚如何更改分隔符,但到目前为止,没有运气。
    • 是的,因为如果包含逗号,公式将不起作用
    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 2020-03-06
    • 2014-06-30
    • 2015-02-05
    • 2012-11-24
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多