Google 按双重选择标准自定义的工作表中的动态图表

Dynamic Chart in Google Sheets Customized by Dual Selection Criteria

我目前正在尝试在 Google 表格中为跟踪器创建一个动态图表系统。现在,第一个图表是我如何设置的,指向 sheet“历史”。当我 select 仪表板上的下拉菜单中的内容时,它会更新图表以显示基于日期的值。

以下是我想要更改的方式: 我想创建一个单独的日期列,该列根据第二个下拉菜单进行更新。第二个菜单可以让我 select 日期范围,例如“过去 30 天”或“今年”或“7 天”或我想要配置的任何自定义日期范围。这样一来,历史测试选项卡中 A 列和 B 列中填充的数据将根据 2 selection 标准进行更新。所以我可以 select 值 3 和 7 天或值 2 和 1 年,图表会根据这些 select 离子自动更新。我确信我把它复杂化了,但希望我只是错过了一个让 met 轻松做到这一点的关键公式。

Test Example

  • 使用IF检查D21中设置的间隔(选项为Last 30 days7 daysLast year)。
  • 对于每个间隔,您必须使用略有不同的 FILTER, in this case using DAYS
  • 想法是日期列和B21中的值对应的列都用同一个公式过滤和检索。
  • 根据 B21 检索的值列返回 QUERY which uses SUBSTITUTE, ADDRESS and MATCH, as explained, for example, here

公式:

=IF(Dashboard!D21="Last 30 days",
    FILTER({QUERY(D:F,"SELECT "&SUBSTITUTE(ADDRESS(1,MATCH(Dashboard!B21,D1:F1,0)+3,4),1,"")),C:C},DAYS(TODAY(),C:C)<=30),
 IF(Dashboard!D21="7 days",
    FILTER({QUERY(D:F,"SELECT "&SUBSTITUTE(ADDRESS(1,MATCH(Dashboard!B21,D1:F1,0)+3,4),1,"")),C:C},DAYS(TODAY(),C:C)<=7),
 IF(Dashboard!D21="Last year",
    FILTER({QUERY(D:F,"SELECT "&SUBSTITUTE(ADDRESS(1,MATCH(Dashboard!B21,D1:F1,0)+3,4),1,"")),C:C},DAYS(TODAY(),C:C)<=365))))