Excel使用连接来比较日期

时间:2018-06-12 14:55:02

标签: excel excel-formula

我有一个包含多个列的表,其中一列是日期/时间字段。我试图使用以下

获取每天的实例数
=COUNTIFS(Table4[Data],"Apple",Table4[Date],(CONCATENATE(V4,"*")))


Data    Date        Comp Date   Count
Apple   6/12/18 1:00 PM     6/12/18 12:00 AM    0
Apple   6/12/18 7:00 AM         
Orange  6/12/18 1:30 PM         
Apple   6/11/18 11:23 AM        

根据我对这里所有活动部件的理解,我应该检查是否" Apple"存在于数据列中,然后如果" 6/12/18"存在后的任何数量或类型的字符。如果两者都为真,那么我将得到一个计数+ 1,在上面的例子中给我一个值为2的值。

我实际得到的是0,除非我将日期的时间部分与数据完全相同然后删除通配符," *"等式。

我做错了什么,或者不能用通配符来完成我正在尝试的事情?

谢谢!

3 个答案:

答案 0 :(得分:2)

我认为你应该正确设定你的标准。

如果在包含的日期旁边添加一个附加列,使用INT()计算日期的整数值,并将显示格式化为DATE(m / d / yyyy),那么您应该可以使用以下COUNTIFS公式

=COUNTIFS(Table4[Data], "Apple", Table4[Date], "=6/12/18")

查看其办公室的解释性视频'支持网站:https://support.office.com/en-us/article/countifs-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842

答案 1 :(得分:0)

如果您的[Date]列是datetime或smalldatetime,您可以使用CONVERT函数使用它,具体取决于您想要分组的方式。

例如,如果您不关心组的时间,可以使用下一个查询:

SELECT CONVERT(varchar,[Date],103), [Data], COUNT(*)
FROM [test_delete].[dbo].[Table1]
GROUP BY CONVERT(varchar,[Date],103), [Data]

这应该是这样的:

[Date]      [Data]      [Count]
11/06/2018  Apple       1
12/06/2018  Apple       2
12/06/2018  Orange      1

希望这有助于你

答案 2 :(得分:0)

如果您的日期存储为日期而不是文本,请使用以下内容:

=COUNTIFS(Table4[Data],"Apple",Table4[Date],">="&V4,Table4[Date],"<"&V4+1)