【问题标题】:Google Sheets Query returning odd formatting谷歌表格查询返回奇怪的格式
【发布时间】:2021-07-18 12:41:07
【问题描述】:

我有一个简单的表格来尝试跟踪和格式化我加入的联赛的比赛结果。在大多数情况下,我知道我想如何做到这一点,但是当我使用查询时,它在某些情况下会删除数据,而在其他情况下会奇怪地格式化它。 似乎列中的数字多于文本,它会删除所有文本条目。 另外由于某种原因,当我添加一个检查行时,如果它包含在查询中,它会将几乎所有数据推送到一个单元格中,除了检查行。

有人介意看看并试图弄清楚它为什么这样做。下方链接 在 RRL1 表上,左侧是我的编译数据,右侧是我的“缺失”数据,下面是我奇怪的格式数据。

https://docs.google.com/spreadsheets/d/1c9xlQG06dQCrpMk3UMAX29oTlpRuhTfx6btbYTGmC8g/edit?usp=sharing

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    query() 公式每列仅支持一种数据类型 — 数字、文本、布尔值或日期。类型由前几百行中的大多数值确定。其他类型的值将返回为null,即空白值。

    =QUERY('Tournament Details'!D2:E22)

    像这样使用{ array expression }

    ={ 'Tournament Details'!D2:E22 }

    =TRANSPOSE(query('Tournament Details'!I3:I26))

    使用这个:

    =transpose('Tournament Details'!I3:I26)

    使用此模式将“DNS”和“DNF”替换为空值:

    =arrayformula( 
      query( 
        { 'RRL1'!A1:C, iferror(value('RRL1'!D1:D)) }, 
        "select Col3, sum(Col4) 
         where Col3 is not null 
         group by Col3 
         label sum(Col4) 'Total AUS RRL1' ", 
        1 
      ) 
    )
    

    您提到的“压扁”值是因为您没有指定 headers 参数。最佳做法是始终包含它,如下所示:

    =query('Tournament Details'!A2:E22,"select A where C != 'N/A'", 1)

    【讨论】:

    • 感谢您的回复,尽管压缩的数据仍然是一个谜(带有复选行),但它解释了带有间隙的行为不幸的是,数组函数不允许我像我一样深入研究数据'm 计划做与查询。有没有办法强制查询以文本形式返回所有内容?
    • 编辑了答案以讨论您的其他请求。我认为这是您在 Stack Exchange 上的第一个问题。见What should I do when someone answers my question?
    猜你喜欢
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多