【问题标题】:Excel formula to fetch dates as a flag (1,0) for months from now into past 1 yr.As in Past 3month,Past 6 months and Year to dateExcel 公式将日期作为标志 (1,0) 获取从现在到过去 1 年的月份。如过去 3 个月、过去 6 个月和年初至今
【发布时间】:2019-08-30 16:29:10
【问题描述】:

我在电子表格中有日期列。我需要 Excel 公式的帮助来获取从现在到过去 1 年的几个月的日期作为标志 (1,0)。与过去 3 个月、过去 6 个月和年初至今一样。

数据集中的最新日期是 2019 年 2 月 1 日。这是我用于获取 YTD 的日期,但它仅获取列中最大日期后的第 12 个月,而不是所有 12 个月。

=IF(B3=(DATE(YEAR(MAX($B:$B)),MONTH(MAX($B:$B))-12,1)),1,0)

我在 R3M 3 个月内使用了以下公式,但这会使 YTD 公式变长并且需要很长时间才能运行。

=IF(B3=(DATE(YEAR(MAX($B:$B)),MONTH(MAX($B:$B)),1)),1,IF(B3=(DATE(YEAR(MAX($B:$B)),MONTH(MAX($B:$B))-1,1)),1,IF(B3=(DATE(YEAR(MAX($B:$B)),MONTH(MAX($B:$B))-2,1)),1,0)))

有什么办法可以缩短公式。

Month,     CMDATE_FLAG,  R3MDATE_FLAG,  YTDMDATE_FLAG,
2/1/2018,   0,    0,             1,
2/1/2018,   0,    0,             1,
3/1/2018,   0,    0,             0,
3/1/2018,   0,    0,             0,

这是我在 YTD 中得到的结果。我预计从 2018 年 2 月至 2019 年 2 月(12 个月),YTD 标志下会显示“1”。 感谢您的帮助。

【问题讨论】:

    标签: excel


    【解决方案1】:

    可能是这样的:

    =IF(B2>=EDATE(MAX(B:B),-12),1,0)
    

    这个公式将包括 13 个月。您必须根据是否要从标记中排除 2018 年 2 月或 2019 年 2 月对其进行一些修改。

    仅排除 2019 年 2 月,然后尝试:

    =IF(AND($B2<> MAX($B:$B),$B2>=EDATE(MAX($B:$B),-12)),1,0)
    

    要仅排除 2018 年 2 月,请尝试:

    =IF(B3>EDATE(MAX(B:B),-12),1,0)
    

    您可以对其他月份标志使用类似的主体。

    这些公式假定 B 列中的日期都是一个月的第一天,如您在数据示例中所示。如果不是这种情况,则可能需要修改公式。

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多