【问题标题】:Add a "sort" to a =QUERY statement in Google Spreadsheets在 Google 电子表格中的 =QUERY 语句中添加“排序”
【发布时间】:2014-02-01 02:13:38
【问题描述】:

我设置了一个简单的=QUERY 语句,它将目标行/列从“响应”表中拉出,并将它们放入主题特定表中。

=QUERY(responses!A1:K; "Select C, D, E where B contains '2nd Web Design' ")

我正在寻找一种“自动排序”通过两种方法提取的行的方法。

  1. 按一列对行进行 Alpha 排序
  2. 日期/时间按一列对行进行排序

关于如何修改上述 QUERY 以自动对行进行排序有什么建议吗?

【问题讨论】:

    标签: google-sheets excel-formula


    【解决方案1】:

    您可以使用ORDER BY 子句按列中的值对数据行进行排序。类似的东西

    =QUERY(responses!A1:K; "Select C, D, E where B contains '2nd Web Design' Order By C, D")
    

    如果您想按某些列降序排序,其他列升序,您可以添加desc/asc,即:

    =QUERY(responses!A1:K; "Select C, D, E where B contains '2nd Web Design' Order By C desc, D")
    

    【讨论】:

    • 您能解释一下ORDER BY 子句(ORDER BY C, D)吗?我假设 C 和 D 是列标题,但似乎不是。请问可以展开吗?另外,如果我想按“反向”顺序排序怎么办?谢谢!
    • 在我的示例中,我对 C 和 D 列数据进行了排序。首先数据将按 C 排序,然后按 D 排序。您可以使用DESC 以降序反转顺序。默认为ASC,即升序。
    • 这个答案很重要,但可以通过包括如何选择升序/降序以及如果可能的话可以混合这些来进一步改进。例如,您可能希望按性别升序和出生日期降序进行排序。编辑:我添加了这个。
    • 我在想我的查询中没有结果,它导致空单元格出现在开头,因此请确保在“where”子句中跳过空单元格。即 =QUERY(Vacaciones!A:D, "Select A, D Where A '' and D 'NO' Order By A asc", 1) 注意 "a ''" 和 header = 1 (第三个参数),因此标题不会包含在排序结果中
    【解决方案2】:

    按C和D排序需要将对应的列分别转化为数字形式,即3和4。 例如 Order By 2 asc")

    【讨论】:

      【解决方案3】:

      您可以使用 Col2 或 Col3 来命名列。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      • 您是否建议他们通过重命名列来更改排序顺序?目前尚不清楚您的建议是什么。如果您建议这样做,那似乎不是一个非常可持续或可取的方法。你能提供一个代码示例来澄清一下吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2022-01-16
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多