【问题标题】:Is there a way to use SUMIF when you are searching date formatted cells? Google Sheets搜索日期格式的单元格时有没有办法使用 SUMIF?谷歌表格
【发布时间】:2021-08-05 13:40:17
【问题描述】:

我设法创建了一个搜索日期的公式。但是,我只能在将日期列格式化为纯文本时才能使用它,不幸的是,由于添加时间戳的方式,我无法像那样格式化工作表。有没有办法改变我的公式,这样我就可以避免这个问题?

SUMIF($A$1:$A$16,"*"&text($E4,"dd/mm/yy")&"*",$B$1:$B$16)

这是一个示例电子表格(应该是公开的)。
提前感谢您的任何回复。

https://docs.google.com/spreadsheets/d/e/2PACX-1vQyLQEaoLAHpf2UtE7ikFUFTYZ6D3jjYdOZlm-63ZjMdezC1cZn2h36zvYV9YoGMFHvbexIJR4cZoYd/pubhtml

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    您需要使用 math 而不是 文本操作 将时间戳转换为纯日期(而不是日期时间)。这是通过几种不同的方式完成的,但我认为最简单的是 INT() 函数,它只返回十进制数的整数部分。由于日期只是数字而时间是十进制值,因此这适用于从日期/时间戳中剥离时间。由于您要将 INT() 应用于整个数据列,因此您需要使用 ARRAYFORMULA() 包装器。

    在你的情况下:

    =ARRAYFORMULA(SUMIF(INT(A$1:A$16),E4,B$1:B$16))
    

    【讨论】:

    • 你知道其他方法吗?虽然在这张表上没有涉及任何时间,但它们都包含在原始表中,我已经将它们用于其他公式,所以我无法删除它们。那是除非我误解了你的回复,我可以在公式中使用 int 吗?
    • @sophmp 是的,你误会了,我的意思是在公式中使用 INT,正如我在答案中的公式中所写的那样。
    • 是的,感谢这项工作。很抱歉造成混乱。
    【解决方案2】:

    尝试:

    =INDEX(QUERY({INT(A:A), B:B}, 
     "select Col1,sum(Col2) where Col2 is not null group by Col1 label sum(Col2)''"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      相关资源
      最近更新 更多