我在谷歌表格中有一个查询:
=query('GA4 - 产品数据'!A:N,"SELECT D, SUM(H) GROUP BY D PIVOT N",1)
我想做的是按数据透视表的最后一列对这些数据进行排序,我通常通过包装在另一个查询中来完成此操作:
=query(query('GA4 - 产品数据'!A:N,"SELECT D, SUM(H) GROUP BY D PIVOT N",1),"SELECT * ORDER BY Col13 DESC",1)
问题是我查询的数据每天都会扩展,很快就会有额外几个月的数据,所以数据透视表的长度将是 14 列而不是 13 列,我的排序将不起作用。
查询中有没有一种方法可以“始终对最后一列进行排序”?所以它比我拥有的更有活力?
感谢您的帮助。
尝试谷歌搜索,但不知道下一步该去哪里
方法不止一种,但与您所拥有的类似,您可以使用 LET 命名第一个 QUERY,然后使用它来应用它并查找列数:
=LET(q,query('GA4 - Product Data'!A:N,"SELECT D, SUM(H) GROUP BY D PIVOT N",1),
query(q,"SELECT * ORDER BY Col"&COLUMNS(q)&" DESC",1))