Google sheets 使用GSheet接口对使用ArrayFormula从多个源工作表生成的数据进行排序

Google sheets 使用GSheet接口对使用ArrayFormula从多个源工作表生成的数据进行排序,google-sheets,google-sheets-formula,array-formulas,Google Sheets,Google Sheets Formula,Array Formulas,我有一个谷歌电子表格(),它 来源表(任务、项目) 计算表(增强型项目),使用公式从多个表中聚合数据(计算项目所有任务的估计值之和) 我希望我的用户能够使用google界面(菜单数据>排序范围)轻松地对聚合数据进行排序。 这只是一个示例,因此没有数据/列的lof,但在我们使用的实际电子表格中有许多列,用户可能需要对任何列进行排序 我见过多个SO问题,这些问题处理的是从arrayFormula计算的排序结果等问题。但是有没有一个解决方案,可以与使用GSheet接口的过滤器兼容?所以完全不了解g

我有一个谷歌电子表格(),它

  • 来源表(任务、项目)
  • 计算表(增强型项目),使用公式从多个表中聚合数据(计算项目所有任务的估计值之和)
我希望我的用户能够使用google界面(菜单数据>排序范围)轻松地对聚合数据进行排序。 这只是一个示例,因此没有数据/列的lof,但在我们使用的实际电子表格中有许多列,用户可能需要对任何列进行排序

我见过多个SO问题,这些问题处理的是从arrayFormula计算的排序结果等问题。但是有没有一个解决方案,可以与使用GSheet接口的过滤器兼容?所以完全不了解gsheet公式的人仍然使用该表

如果有一种解决方案涉及到创建不同的工作表,或者使用不同类型的公式(查询而不是arrayFormula等)来产生相同的结果,那就好了。

注意事项 使用用户界面,您无法对
阵列公式的输出进行排序。排序操作的结果将丢失相应的单元格引用

使用查询 使用
QUERY
公式,您可以使用
orderby
操作符按任意列轻松排序

就你而言:

=QUERY('project-enhanced'!A1:C4, "select * order by C")
现在,由于您不希望用户编写任何公式或代码,您可以构建一个简单的用户界面来调整查询公式:

=QUERY('project-enhanced'!A1:C4, "select * order by "&B1)
然后,您可以将B1单元格设置为用户输入字段,以指定他希望按哪个列字母对数据进行排序

SORT BY:    C   
Project ID  Start date  Sum of estimations
2           11/14/2020  5
1           11/13/2020  30
3           11/16/2020  90
参考文献

您最好使用Google Data Studio来处理类似的事情。给你。只需复制它并查看内部。我认为您无法以合理的方式使用标准UI工具对公式生成的数据进行排序。你可以使用谷歌应用程序脚本编写一些代码,制作一个用于排序的自定义菜单。。。或者只是使用脚本而不是公式来聚合数据,这样就会有可排序的静态值。