Excel - 将一系列文本转换为公式

时间:2015-12-06 00:33:26

标签: excel date text formula

此公式中提及的数据中的两列是" Carrier"另一列是" OriginalEffectiveDate"。第二列包含两年跨度的日期范围。这两年我需要展示一定数量的运营商。

因此,如果日期范围是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)

当我最初设置文件时,我使用的数据是静态的,日期是数字字段。当我使用相同的文件并直接连接到数据库时,日期现在以文本形式出现,我无法使用相同的公式。

提前感谢您的帮助。

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

照片:

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以在表格中添加计算列吗?

如果有,请尝试以下操作:添加名为CalculatedDate的列,其中包含公式=DATEVALUE([@OriginalEffectiveDate])

您的CountIfS公式变为

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

注意:根据我的区域设置,DATEVALUE会根据我的案例yyyy-mm-dd对可能不明确的日期做出假设。

COUNTIFS无法在没有计算列的情况下工作的原因是criteria_range参数必须是直接范围,而tbl_Group[OriginalEffectiveDate]是字符串,而不是日期。

不需要计算列的替代公式是

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