有没有办法使用通配符来计算日期?

Is there any way to use a wildcard in order to count dates?

有没有办法使用通配符来计算日期的部分字符串?

在我的电子表格中,我想使用 COUNTIF 函数来计算某个日期。但是,日期值还包含时间。

示例:“12/06/2017 17:35:12”

我只想包括“12/06/2017”

这是我的公式:=COUNTIF(Pivot_Data[Created Date],"*12/06/2017*")

将 * 放在 date.E.g 的任一侧。 =COUNTIF(E9,"*12/06/2017*")

这是一个通配符匹配。根据需要调整范围。

如果我没记错的话,您必须在通配符上使用“&”连接运算符,而不是将其与字符串的其余部分一起使用。这特定于 countif 和 sumif 函数:

=COUNTIF(Pivot_Data[创建日期],"*"&"12/06/2017"&"*")

编辑:这是日期格式而不是文本格式的解决方案:

=COUNTIFS(Pivot_Data[创建日期],">"&DATEVALUE("12/06/2017"),Pivot_Data[创建日期],"<"&(DATEVALUE(" 12/06/2017")+1) )

之所以可行,是因为日期在 Excel 的日期编码中表示为唯一整数,时间为十进制值。

我不会搜索特定文本,而是会检查日期是否与 Excel 的内置序列号相同。另外我更喜欢 SUMPRODUCT 而不是 COUNTIF.

类似于:

= SUMPRODUCT((FLOOR(Pivot_Data[Created Date],1)=DATE(2017,12,6))+0)

FLOOR 函数(在本例中)实际上只是获取日期并删除对该日期的任何时间的引用。

我认为这种方式更好,因为它不依赖于特定文本格式的单元格。

见下文,我使用了这个公式,但将 Pivot_Data[Created Date] 替换为 A1:A5 只是为了证明这个公式适用于样本数据。正如预期的那样,公式 returns 的值为 2 因为数据包含 12/6/2017 的两个日期。请注意它是如何不关心现在几点的。