Excel – 将一系列文本转换为公式中的date

我公式中提到的两列是“Carrier”,另一列是“OriginalEffectiveDate”。 第二栏包含两年的date范围。 我需要显示两年的运营商数量。

因此,如果date范围是2014年1月1日至2015年7月12日,那么我只希望在2014年到2014年7月12日之间统计运营商。换句话说, 如果我把2014年的全部数字相比2015年的一部分,那么我的数字就会下降。

结果会是这样的:

2014 = 343 (Jan 1 - July 12, 2014) 2015 = 375 (Jan 1 - July 12, 2015) 

当我最初设置文件时,我使用的数据是静态的,date是数字字段。 当我把同一个文件直接连接到数据库时,date现在是文本,我不能得到相同的公式来工作。

在此先感谢您的帮助。

 =COUNTIFS(tbl_Group[Carrier],A5,tbl_Group[OriginalEffectiveDate],"<="&EDATE(MAX(tbl_Group[OriginalEffectiveDate]),-12)) 

照片:

在这里输入图像说明

你可以添加一个计算列到你的表?

如果是这样,试试这个:添加一个名为CalculatedDate的公式=DATEVALUE([@OriginalEffectiveDate])

您的CountIfS公式成为

 =COUNTIFS(tbl_Group[Carrier],A10,tbl_Group[CalculatedDate],"<="&EDATE(MAX(tbl_Group[CalculatedDate]),-12)) 

请注意: DATEVALUE会根据我的区域设置对yyyy-mm-dd进行潜在模糊date的假设。


如果没有计算列, COUNTIFS无法工作的原因是criteria_range参数必须是直接范围,而tbl_Group[OriginalEffectiveDate]是string,而不是date。

另一个不需要计算列的公式是

 =SUMPRODUCT( (tbl_Group[Carrier]=A12) * (DATEVALUE(tbl_Group[OriginalEffectiveDate]) <= MAX(EDATE(DATEVALUE(tbl_Group[OriginalEffectiveDate]),-12)) ) )