我正试图找出在谷歌工作表中显示RSS提要条目的公式,以便最近的条目显示为最后一行。
但是,按照importfeed的工作方式,它将最近的条目显示为最上面的一行。
=importfeed("https://waitbutwhy.com/feed","items",TRUE)
我曾尝试使用查询函数按日期列排序,但日期列未正确识别/格式化,导致顺序随机。
=query(importfeed("https://waitbutwhy.com/feed","items",TRUE), "select * order by Col4 asc", 1)
这个问题似乎有两种可能的解决方案:
- 反转顺序(使用行号?(
- 正确设置日期格式并按该列排序
有什么想法吗?
试试这个:
=query({query(importfeed("https://waitbutwhy.com/feed","items",TRUE),"",1),query(arrayformula(value(regexreplace(importfeed("https://waitbutwhy.com/feed","items",TRUE)," +0000",""))),"select Col4 ",1)},"select Col1,Col2,Col3,Col4,Col5 order by Col6,Col1",1)
数组{}
中的两个查询由,
分隔,以便第二个查询可以选择第4列,并使用value
将其转换为日期/时间以进行未来排序。正则表达式在应用value
之前删除+0000
。
然后,一个围绕它们的查询来进行列Col1,Col2,Col3,Col4,Col5
的整体选择,并按日期升序排序,然后按标题排序。您不需要在order by Col6
之后添加asc
,因为它是默认值。如果要将排序顺序更改为降序,则只需要desc
。