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

时间:2017-12-08 18:46:03

标签: excel date

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

parentModule

C列是结束日期,B列是开始日期。例如,如果开始日期是2017年4月2日,结束日期是,2/3/201,那么目前的结果是,报告日期:42857

当我希望它实际上出现时,2017年5月2日。那么我如何在公式本身中自动为我设置日期呢?

提前致谢!

Maykid

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这个问题的关键是了解Excel如何处理日期。 Excel中的日期实际上是1-jan-1900 = 1的数字。然后Excel接受一个数字并将其格式化为更有意义的东西,但它实际上仍然是一个数字。这样,无论您的区域设置是什么,数字总是在同一天引用。

Excel通常会识别这些数字,当它们独立时,可以根据您的区域设置或自定义设置自动设置日期。 42857 dd/mmm/yyy 02/May/2017 mm-d-yy05-2-17TEXT

请注意,如果日期包含在字符串中(文本位),Excel只会看到一个数字,因为它不仅是一个数字而且是一些文本,整个输出被认为是一个字符串并且excel不能像日期一样格式化字符串。

因此,您需要在代码中包含生成TEXT公式中日期的位。 =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")) 公式获取数字并相应地对其进行格式化,然后将其作为字符串吐出。因此,Excel可以不再使用此文本进行任何计算。

我认为你的案子的公式应该是

FieldWidth = Cells(1, ColumnCount).Value

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