我使用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"
)发布于 2021-01-03 15:47:31
当涉及到数据使用时,查询函数有点混乱。看这里:https://www.benlcollins.com/spreadsheets/query-dates/
我建议使用几个简单的公式: unique、countif、year()和if。
我使用虚拟数据的解决方案可以在这里获得:https://docs.google.com/spreadsheets/d/1rikdQa9UKKHNMAfVVCvVuommeaYQQZYHdhcOyaOnXGc/copy
它可以用于{}内的多个范围。
首先,您必须知道在列表中找到了哪些年份才能生成下拉列表。此外,您还需要默认值:“所有年份”,我使用唯一公式和年份公式从数据中提取年份:={“所有年份”;Array式(唯一(年份(B3:B10))})

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

然后我列出C列中的所有post类型

最后,我计算每种类型的职位在选定的一年中发生的次数,如果选择“所有年份”值,则计算所有年份的数量。

您可以对每个公式使用多个范围,但如果数据集没有那么大,则可以为所有范围合并生成单独的工作表。这将占用更多的空间,但将使寻址更容易。
发布于 2021-01-03 15:13:51
添加简单的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)''")

https://stackoverflow.com/questions/65546919
复制相似问题