Excel将date添加到特定的date格式

我将数据库中的date转换为具有以下格式的列:

K栏AUG-14-2015 08:31:32 AM AUG-12-2015 06:10:03 PM AUG-12-2015 05:17:51 PM

我想为每一个添加'2.2'天,并把它们放在L列。我已经格式化了这个格式的列:

mmm-dd-yyyy hh:mm:ss AM/PM

我不确定是否破折号导致了问题,但是当我做一个= K15 + 2.2我得到一个!价值。 任何想法我需要做什么? 谢谢。

经过一番尝试,似乎虽然可以指定date格式"mmm-dd-yyyy hh:mm:ss AM/PM" ,但实际进入单元格必须是系统范围内特定于语言环境的date格式,或者1900年1月1日以来的几天。

所以例如当你设置单元格的格式为自定义时:

"mmm-dd-yyyy hh:mm:ss AM/PM"

在我的情况下(Windows 10默认英国语言环境设置,Excel 2010)为AUG-12-2015 06:10:03 PM ,我可以input任何:

  • 12/08/2015 06:10:03 PM
  • 12/08/2015 18:10:03
  • 42228.26

并且在任何情况下也交换8月份或8月份的08月份,并在date中将“/”换成“ – ”。

对于格式为"mmm-dd-yyyy hh:mm:ss AM/PM" ,上述任何input的输出为:

  • Aug-12-2015 06:10:03 PM

请注意,似乎没有办法强制所有月份的首都。

另请注意,如果您以区域设置格式inputdate/时间,则会自动识别并格式化为date/时间。

所以真正你唯一的select是改变源数据的格式,将数据预处理成区域date/时间格式,或者在电子表格中写一个macros来完成它。 如果您更改语言环境设置(“系统设置”,“语言和时间”),也可能有效,但这可能不尽如人意,因为它会影响整个系统的date显示。

如果您想避免使用VBA,则可以在数据旁边添加一列(“L”),然后input:

=SUBSTITUTE(K1,"-","/")

另一个解决scheme是编写代码来完成你现有的“K”列