如何在Excel中的公式中创建日期

  • 本文关键字:创建日期 Excel excel date
  • 更新时间 :
  • 英文 :


所以我要做的是创建一个反映两个日期(开始日期和结束日期)的公式,如果它短于 49 天,找到确切的中间日期,如果它大于该数字,则在开始日期中添加 30 天。到目前为止,我有公式,它看起来像:

=IF(C3-B3>49,IF(B3+30<=C3,"Report Date: "&B3+30,"Report Date: "&C3),"Report Date: "&((C3-B3)/2)+B3)

C 列是结束日期,B 列是开始日期。例如,如果开始日期是 4/2/2017,结束日期是 2/3/2018,则当前会出现什么,报告日期:42857

当我希望它真正出现时,5/2/2017代替。那么,我究竟如何在公式本身中执行此操作以自动为我设置日期呢?

提前感谢!

梅基德

  1. 将公式单元格的格式设置为日期
  2. 文本(公式,"d/m/yyyy"),但取决于你想用它做什么。某些计算可能不起作用。
  3. 日期(年(公式),月(公式
  4. ),日(公式)) 根据我的经验,这不会为您提供所有Excel版本或设置所需的结果。

这个问题的关键是了解 Excel 如何处理日期。Excel中的日期实际上是1-jan-1900 = 1的数字。然后,Excel 获取一个数字并将其格式化为更有意义的内容,但它本质上仍然是一个数字。这样,无论您的区域设置如何,数字始终引用同一天都无关紧要。

Excel 通常会将这些数字(当它们单独存在时)识别为日期,并根据您的区域设置或自定义设置自动设置其格式。 有了dd/mmm/yyy4285702/May/2017,有了mm-d-yy,它就变得05-2-17

请记住,如果日期包含在字符串(文本位)中,Excel 只会看到一个数字,并且由于它不仅是一个数字,而且是一点文本,因此整个输出被视为字符串,Excel 无法像日期一样格式化字符串。

因此,您需要将生成日期的代码中的位括在TEXT公式中。TEXT公式获取数字并相应地设置其格式,然后将其吐出为字符串。因此,Excel 无法再对此文本进行任何计算。

我认为你的情况的公式应该是这样的

=IF(C3-B3>49,IF(B3+30<=C3,"Report Date: "&TEXT(B3+30,"dd/mm/yy"),"Report Date: "&TEXT(C3,"dd/mm/yy")),"Report Date: "&TEXT(((C3-B3)/2)+B3,"dd/mm/yy"))

您可以通过更改公式的"dd/mm/yy"部分来更改输出格式。