我有 Excel 电子表格,其中日期为字符串 ( 12/Nov/12 6:59 PM
)。如果我将日期/日期时间格式应用于该单元格 - 什么也不会发生。我想要做的是让 Excel 将这些值解释为日期(因此,例如YEAR
函数可以工作,或者我可以比较这些值COUNTIFS
(现在我不能,但我需要它))。我尝试的最后一件事是自定义格式:([$-409]ДД/ММ/ГГ чч:мм AM/PM
是的,我是俄罗斯用户)。它也无济于事,我陷入困境。
我怎样才能让 Excel 正确解析它?
答案1
您可以构建一个查找表,第一列为英文月份名称,下一列为月份编号。然后,您可以使用 Date() 公式并使用 Vlookup 获取月份编号:
=DATE(MID(A1,FIND(" ",A1)-2,2)+2000,VLOOKUP(MID(A1,FIND("/",A1)+1,3),$E$1:$F$12,2,FALSE),LEFT(A1,FIND("/",A1)-1))
如果您不想使用查找表,则可以使用公式内的查找一步完成:
=DATE(MID(A1,FIND(" ",A1)-2,2)+2000,LOOKUP(MID(A1,FIND("/",A1)+1,3),{"Apr","Aug","Dec","Feb","Jan","Jul","Jun","Mar","May","Nov","Oct","Sep"},{4,8,12,2,1,7,6,3,5,11,10,9}),LEFT(A1,FIND("/",A1)-1))
这两个公式都考虑到了日期可能只有一位数字。另外,由于 Date() 函数会将两位数的年份(如“12”)解释为 1912,因此您需要在日期后添加 2000。当然,这只有在所有日期都大于 2000 年 1 月 1 日时才有效。