如何在Excel中以自定义格式输入日期?
我有一个具有此值的单元格:如何在Excel中以自定义格式输入日期?,excel,Excel,我有一个具有此值的单元格:Sat 2009年1月24日01:23:12 我定义了一个自定义日期格式:jjjjmmm aaaa hh:mm:ss .但是我不能在这个日期单元格上做算术。例如,我不能用“单元格+1小时”来增加一小时,只需在公式中添加+(1/24)或在新列中添加=单元格+(1/24)即可,因此,你在问题中描述的方式实际上是行不通的(除非有人真的知道这样做的方法)。我建议使用适用于您所拥有的特定格式的帮助器公式: =SUBSTITUTE(SUBSTITUTE(MID(A1,5,20),
Sat 2009年1月24日01:23:12
我定义了一个自定义日期格式:jjjjmmm aaaa hh:mm:ss
.但是我不能在这个日期单元格上做算术。例如,我不能用“单元格+1小时”来增加一小时,只需在公式中添加+(1/24)或在新列中添加=单元格+(1/24)即可,因此,你在问题中描述的方式实际上是行不通的(除非有人真的知道这样做的方法)。我建议使用适用于您所拥有的特定格式的帮助器公式:
=SUBSTITUTE(SUBSTITUTE(MID(A1,5,20)," ","-",1)," ","-",1)*1
如果您省略了我在末尾的*1
,您应该在乘以1之前看到我正在使用的文本(这是Excel尝试将文本转换为数字的地方,这是Excel可以理解的日期格式)
上面应该给你一个带小数的数字。将其格式化为日期,并使用您选择的格式,这样您就可以开始了。我使用了dd/mm/yyyy hh:mm:ss
,得到了这个:
MID
基本上删除了工作日部分,两个SUBSTITUTE
s将前两个空格分别替换为破折号,这是Excel可以理解为datetime的内容。Excel在创建自定义格式时并不完全理解文本作为日期,因此,你在问题中描述的方式实际上是行不通的(除非有人真的知道这样做的方法)。我建议使用适用于您所拥有的特定格式的帮助器公式:
=SUBSTITUTE(SUBSTITUTE(MID(A1,5,20)," ","-",1)," ","-",1)*1
如果您省略了我在末尾的*1
,您应该在乘以1之前看到我正在使用的文本(这是Excel尝试将文本转换为数字的地方,这是Excel可以理解的日期格式)
上面应该给你一个带小数的数字。将其格式化为日期,并使用您选择的格式,这样您就可以开始了。我使用了dd/mm/yyyy hh:mm:ss
,得到了这个:
MID
基本上删除了工作日部分,两个SUBSTITUTE
s将前两个空格分别替换为破折号,这是Excel可以理解为datetime的内容。我发现它不起作用的唯一原因是日期实际上是一个文本。尝试将格式更改为“常规”。如果它没有变成一个数字,它就是一个文本,否则其他的东西在某处是错误的。我已经创建了您的自定义格式,并且在该日期执行算术时没有任何问题。@Jerry我试图在A1设置一个单元格,时间为2009年1月27日星期六10:01:00和A2 to do=A1+NOW()
,但我得到了错误:#值代码>否,使用例如Ctrl
+将日期首先添加到A1代码>(这应以标准格式添加实际日期),然后应用自定义格式,然后执行操作。如果您只是键入日期,它不是Excel可以理解的格式,Excel会将其理解为文本值,无法对其执行算术运算,从而导致错误。@Jerry我明白了。我想在自定义格式和Excel中输入它来检测它是一个日期。我发现它不起作用的唯一原因是日期实际上是一个文本。尝试将格式更改为“常规”。如果它没有变成一个数字,它就是一个文本,否则其他的东西在某处是错误的。我已经创建了您的自定义格式,并且在该日期执行算术时没有任何问题。@Jerry我试图在A1设置一个单元格,时间为2009年1月27日星期六10:01:00
和A2 to do=A1+NOW()
,但我得到了错误:#值代码>否,使用例如Ctrl
+将日期首先添加到A1代码>(这应以标准格式添加实际日期),然后应用自定义格式,然后执行操作。如果您只是键入日期,它不是Excel可以理解的格式,Excel会将其理解为文本值,无法对其执行算术运算,从而导致错误。@Jerry我明白了。我想在自定义格式和Excel中输入它,以检测它是否是日期。