1

我正在尝试在excel中做一个发票日期计算器。我所拥有的是第一张发票到期的日期和发票用完的日期。然后我有一个字段,其中包含我们开具发票的月数。

我需要做的是动态生成一个列表,其中显示发票到期的月份。例如:

  • 发票开始日期 = 2012 年 1 月 1 日
  • 发票结束日期 = 2013 年 1 月 1 日
  • 每 3 个月开具发票

然后该列表将输出:

  • 2012 年 1 月 1 日
  • 2012 年 4 月 1 日
  • 2012 年 7 月 1 日
  • 2012 年 10 月 1 日

显然,根据每 X 天数的开始月份、结束月份或发票,此列表会相应地扩展和更改。

有谁知道我该怎么做?我可以在一个日期上添加 3 个月没问题,但是让一个列表动态扩展等我做不到。

4

1 回答 1

1

一种选择是让公式仅返回低于结束日期的日期,而在其他情况下为空白。

在您的评论中,您有一个公式可以根据相邻单元格计算下一个日期,我假设它进入单元格 G11。该公式可以首先检查新日期是否会超过结束日期,如果是,则返回空白:

=IF(OR(DATE(YEAR(F11),MONTH(F11)+$F$13,DAY(F11))>$F$12 , F11=""),
 "",
 DATE(YEAR(F11),MONTH(F11)+$F$13,DAY(F11)))

在第一行,公式检查 G11 计划的值是否超过最大日期,或者左侧的值是否为空白。如果是这种情况,则将返回空白,这表明其他单元格也返回空白。如果日期有效,则第三行在单元格中输入日期。

当然,excel公式中没有单独的行,所以所有内容都应该输入一行。然后可以将公式复制并粘贴到相邻的单元格中,给出:

 F              G             H             I            J        K   L   M
------------+--------------+--------------+------------+------------+---+---+---+
Jan 1, '12  +  Apr 1, '12  +  Jul 1, '12  + Oct 1 '12  +  Jan 1 '13 +   +   +   +
------------+--------------+--------------+------------+------------+---+---+---+
Jan 1, '13  +              +              +            +            +   +   +   +
------------+--------------+--------------+------------+------------+---+---+---+
3           +              +              +            +            +   +   +   +
------------+--------------+--------------+------------+------------+---+---+---+

如果您想在列表中添加此内容,请复制您设想的最大日期数的公式,然后列表将显示日期,后跟空格。似乎没有办法绕过包括空白在内的列表,但至少它只包含有效的日期。

于 2012-09-26T15:01:12.803 回答