我们公司的海外合作伙伴寄给我们一长串MDY风格的日期清单。问题是这些列是在Excel中格式化为通用格式的。例如,由于某种原因,Excel将2021年11月8日的手动输入日期读取为2021年8月11日,即单元格显示" 11 /08/ 2021“。如果他们是美国式的日期格式,那么转换是很简单的,但我们的海外合作伙伴是一个非常大的跨国公司,他们似乎不费心解决这个问题。
我甚至尝试使用=DATE(VALUE(RIGHT(XX,4)),VALUE(LEFT(XX,2)),VALUE(MID(XX,4,2)))
,它返回上述日期的"19/08/4422“。
我们几乎每天都收到这些文件,每次都有数百个日期。对我们来说,每天手动使用Text-To-Columns
选项来修正这些日期是不有效的。因此,我希望将这些日期列自动转换为另一列中的适当日期。我该怎么做?我是否错误地使用了=DATE()
函数?
发布于 2021-11-10 05:38:56
将Excel日期格式从dd/mm/yyyy更改为mm/dd/yyyy,以更改Excel中的日期显示,请执行以下步骤:
转到格式单元格>自定义在可用空间中输入mm/dd/yyyy。
或者你可以使用:
来源:查一下这个
看看这个。
发布于 2021-11-10 09:24:20
您还可以对如下列使用数据片段文本:
结果:
为了清晰起见,我已经将结果放在一个单独的列中,但是如果您接受默认的结果,它将将日期转换为适当的日期。
发布于 2022-06-23 06:57:10
当我从文件中粘贴数据时,我遇到了这种情况.因此:我开发了它--它处理可变长度的日期、月份和年份值(源MDYdate-在表格单元格@dateField中作为文本)(如果日期分隔符不是/)(替换"/“):
=LET(srcDate,[@dateField],firstSep,FIND("/",srcDate),secondSep,FIND("/",srcDate,firstSep+1),
DATE(
RIGHT(srcDate,4),
LEFT(srcDate,firstSep-1),
MID(srcDate,firstSep+1,secondSep-firstSep-1)
)
)
如果源日期年份为2位数,则更改右(.至,2)。
但是,由于我有一个复制的处理表设计,需要处理源日期-数据格式中的任何一个,有时还需要随时间变化的长度组件,因此我扩展了上面的MDYDates开关引用,以便在每个表的基础上处理MDY或DMY &time (每个表的日期-数据与源数据是一致的)。
=LET(srcDate,[@dateField],
firstSep,FIND("/",srcDate),secondSep,FIND("/",srcDate,firstSep+1),
srcTime,IFERROR(FIND(" ",srcDate),LEN(srcDate)),
lenYr,srcTime-1-secondSep,
DATE(
LEFT("20",4-lenYr)&MID(srcDate,secondSep+1,lenYr),
IF(MDYDates,LEFT(srcDate,firstSep-1),MID(srcDate,firstSep+1,secondSep-firstSep-1)),
IF(MDYDates,MID(srcDate,firstSep+1,secondSep-firstSep-1),LEFT(srcDate,firstSep-1))
)
)
这是瑞士军刀版本的公式,但它工作在任何MDY或DMY日期文本与或没有时间。它可以扩展到应付……
备注:
最后的想法: Excel在默认情况下尝试识别和转换日期。当@dateField显式格式化为文本,然后date-date被粘贴为值时,上述公式将一致工作。
(是的
https://stackoverflow.com/questions/69908382
复制相似问题