【问题标题】:Sorting by Date After Mult-IMPORTRANGE and QUERYMult-IMPORTRANGE 和 QUERY 后按日期排序
【发布时间】:2017-03-07 22:55:38
【问题描述】:

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

在规格方面,需要:

从多个工作表中提取数据。

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

导入汇总表后,我需要按日期排序。

问题 我是一个查询/importrange 新手,目前卡在按日期排序。

当前网址

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 日位于公式所在的位置,无论我如何排序,它似乎都不会移动。如果您查看没有该单元格的排序顺序,它似乎是按字母顺序排序的。

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

-我做错了什么,所以顺序不包括第一行。 编辑:现在已修复

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

提前谢谢 - J.

【问题讨论】:

    标签: sorting google-sheets spreadsheet formulas


    【解决方案1】:

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

    1. importrange 应该采用 key 而不是 url。但它似乎无论如何都有效......
    2. 拉取的工作表没有标题,所以query 的第三个参数应该是-1 或省略,而不是1
    3. 如果Col1 是一个有效 日期,<> '' 应该不起作用。应该是is not null
    4. 但事实证明,您提取的工作表的日期不是yyyy-mm-dd 格式,因此query 不会将它们识别为日期。

    因此,更有效的公式应该是这样的:

    =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

    【讨论】:

    • 感谢您的快速回复!我切换到密钥,这似乎没有影响它,但如果它是正确的方式,它是固定的。 -1 查询修复了公式占用的“粘性”行。添加 not null 会使我的所有条目都消失。我已授予您访问我认为是问题所在的源表的权限,该表具有基于公式的日期。你的工作,但我注意到它们是硬编码的。我在聚合器中保存了第二张工作表,其中不为空作为选择标准。
    • 刚刚注意到它们并没有在第二张纸上消失,而是被推到第 1993 行。它们仍然按字母顺序排序。所以基本上我只需要弄清楚如何将列排序为日期。
    • 我的错,is not null错了,应该是<> ''。我编辑了答案,并修改了示例聚合器以导入您的文件“Jer's Tech Feed”。
    • 再次感谢您的帮助。我在第二张表中添加了您的副本,并且我确信您可以看到它是按字母顺序排序的,而不是按时间顺序排序的。有没有什么办法解决这一问题?将排序列数据类型定义为日期或类似内容?
    • 原来你拉出来的日期不是yyyy-mm-dd格式,所以不能被查询识别为日期。您应该将拉出的工作表上的日期(A 列)格式化为yyyy-mm-dd。再次检查样品表。
    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多