Mult-IMPORTRANGE和QUERY后按日期排序

时间:2017-03-07 22:55:39

标签: sorting google-sheets spreadsheet formulas

拥有我正在尝试构建的Google表格。它使用IFTTT将人们阅读的文章拉入个人,然后是汇总电子表格。

就规格而言,需要:

从多张纸张中提取数据。

每个源表中的第一列是日期列。有些是公式(从另一个日期列中删除无关数据),有些是硬编码的。这可能因工作表而异,但每张工作表不变。

导入聚合工作表后,我需要按日期排序。

问题 我是一个查询/导入范围的新手,我目前仍然坚持按日期排序。

当前网址

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

当我通过Col1订购时,我不能老实告诉它是如何排序的,最终结果是:

2017年3月7日 2007年2月15日 2017年2月28日 2017年3月7日 2017年3月8日 2010年11月9日

如果您检查细胞,2017年3月7日的第一个位于公式所在的位置,无论我如何排序,它似乎都不会移动。如果您查看没有该单元格的排序顺序,它似乎按字母顺序排序。

所以归结为两个主要问题:

- 我做错了什么才使得顺序不包括第一行。 编辑:现已修复

- 如何识别排序列的内容是日期?

提前致谢 - 学家

1 个答案:

答案 0 :(得分:2)

您的公式似乎有一些问题。

  1. importrange应该key而不是url。但它似乎无论如何都有效......
  2. 已拉出的工作表没有标题,因此query的第3个参数应为-1或省略,而不是1
  3. 如果Col1有效日期,则<> ''不起作用。它应该是is not null
  4. 但事实证明,您提取的工作表日期不是yyyy-mm-dd格式,因此query无法将其标识为日期。
  5. 因此,更有效的公式应该是这样的:

    =query({importrange("...", "Sheet1!A:E");importrange("...", "Sheet1!A:E")}, 
     "select * where Col1 is not null order by Col1 asc",
     -1)
    

    您应该将拉出的工作表上的日期(A列)格式化为yyyy-mm-dd。检查我的工作样本aggregator并提取工作表onetwo