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

时间:2017-10-09 14:25:27

标签: excel excel-formula wildcard countif

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

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

示例:" 12/06/2017 17:35:12"

我只想包括" 12/06 / 2017"

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

3 个答案:

答案 0 :(得分:3)

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

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

编辑:以下是日期格式而非文字格式的解决方案:

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

这是有效的,因为日期在Excel的日期编码中表示为唯一的整数,时间为十进制值。

答案 1 :(得分:1)

放置*日期的任何一方。例如= COUNTIF(E9," * 12/06/2017 *&#34)

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

答案 2 :(得分:1)

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

类似的东西:

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

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

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

如下所示,我使用了此公式,但将Pivot_Data[Created Date]替换为A1:A5只是为了证明此公式适用于示例数据。正如所料,该公式返回值2,因为数据包含12/6/2017的两个日期。请注意它不关心它的时间。

enter image description here