【问题标题】:Add year-based dynamic dropdown to change results of Google Sheets query添加基于年份的动态下拉列表以更改 Google 表格查询的结果
【发布时间】:2021-01-03 05:28:18
【问题描述】:

我使用 Google 表格来跟踪我的博客的发布时间表。每个新年我都会创建一个表格来记录日期、内容类型、标题和其他一些项目。

大约一年前,我创建了一个“仪表板”页面,该页面汇总了每个工作表中的数据,并按作者和内容类型对结果进行了统计。这在查看整体数据时非常有用,但我也想只查看一年的数据; 2019 年发表了多少评论?我们在 2020 年发布了多少视频等。

我想包含一个动态下拉列表,我可以将其更改为显示所选年份的结果,但它还包括一个“所有年份”选项作为默认值。以下是一年的数据示例:

Date                    Type        Title
Mon, January 11, 2021   Review      Beez
Wed, January 13, 2021   Review      Dragomino
Thu, January 14, 2021   Video       Meeple Land
Fri, January 15, 2021   Article     Year in Review - 2020

这是我正在使用的当前查询,上面的屏幕截图:

=query(
    {
        '2021'!D3:D337;
        '2020'!D3:D339;
        '2019'!D3:D271;
        '2018'!D3:D204;
        '2017'!D3:D140;
        '2016'!D3:D110;
        '2015'!D3:D5
    },
    "Select Col1, count(Col1) where Col1 is not null group by Col1 order by Col1 asc"
)

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    在数据使用方面,查询功能有点混乱。 看这里:https://www.benlcollins.com/spreadsheets/query-dates/

    我建议使用几个简单的公式:unique、countif、year() 和 if。

    我的虚拟数据解决方案可在此处获得: https://docs.google.com/spreadsheets/d/1rikdQa9UKKHNMAfVVCvVuommeaYQQZYHdhcOyaOnXGc/copy

    它可以与{}内的多个范围一起使用

    首先,您必须知道在列表中找到哪些年份才能制作下拉列表。 您还需要默认值:“所有年份” 我使用独特的公式和年份公式从数据中提取年份: ={"所有年份";ArrayFormula(unique(year(B3:B10)))}

    然后我进入菜单并选择数据 --> 数据验证并将 F2:F15 声明为可用值列表。每当出现新的年份值时,这都会更新。

    然后我列出在 C 列中找到的所有帖子类型

    最后,我计算所选年份的每种帖子的出现次数,或者如果选择“所有年份”值,则计算所有年份的出现次数。

    您可以为每个公式使用多个范围,但如果数据集不是那么大,您可以为所有范围组合制作单独的工作表。这将占用更多空间,但会使寻址更容易。

    【讨论】:

    • 感谢您对 Krzysztof 的彻底回答!一旦我有一点时间,我会遍历它,看看它是否适合我的需要。为了回答你的问题,我的数据集现在大约有 1100 个条目,并且每年会增长大约 300-350 个。
    • Krzysztof,再次感谢您的推荐。我花了一段时间才明白你的建议,但我得到了它的工作,这是一个非常巧妙的系统。谢谢。
    【解决方案2】:

    添加简单的IF:

    =QUERY({A2:C}, 
     "select Col2,count(Col2) 
      where "&IF(D1="all years", "Col2 is not null", "year(Col1) = "&D1)&" 
      group by Col2 
      label count(Col2)''")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-27
      • 2017-10-08
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      相关资源
      最近更新 更多