我在Excel中有一列,但不以日期格式显示日期,而是以文本格式显示,对于那些具有一个月或日字符的日期,其值之前不包含零。
例如,我们有2017/1/3或2017/11/4,但我想将它们更改为2017/01/03 // 2017/11/04。
如何在不使用日期格式的情况下以简单的方式执行此操作?这是我尝试过的太长且复杂的操作:
- 将日期拆分为年,月和日
- 如果月份的长度<2,则在月份前加0
- 如果日长<2,则在日前加0
- 建立新日期
我在Excel中有一列,但不以日期格式显示日期,而是以文本格式显示,对于那些具有一个月或日字符的日期,其值之前不包含零。
例如,我们有2017/1/3或2017/11/4,但我想将它们更改为2017/01/03 // 2017/11/04。
如何在不使用日期格式的情况下以简单的方式执行此操作?这是我尝试过的太长且复杂的操作:
Answers:
Excel完全可以将您用作示例的所有日期识别为日期。因此,如果您想要“真实的”日期,则可以根据需要设置格式,并且Excel可以直接在数学中使用:
1)如果您希望保留原始数据并提供可格式化的日期数据,则只需在需要进行工作的地方使用公式= A1 * 1(如果您的日期位于单元格A1中)(可能需要多列,或在另一页上...适合您的方案)。并根据需要设置格式(“ yyyy / mm / dd”或“ yyyy / dd / mm” –您的示例不会歧义您拥有md或dm)。
[[我可能会补充说,尽管您对此问题似乎并不感兴趣,但如果您有文本日期并只想在其他公式中使用它们,则通常可以简单地引用它们(如... A1 +7 ...以便在一周后得到一个日期),可能会出现一个奇怪甚至独特的情况,使您这样做,并且突然点亮会失败。在这种情况下,只需进行乘法运算,这样上面的示例就是... A1 * 1 + 7 ...]
2)如果您希望将原始数据替换为“实际”日期,则可以将日期范围从“文本”重新格式化为自定义格式“ yyyy-mm-dd”,然后在某个位置的单元格中输入“ 1”,复制该单元格,再次选择日期范围,然后粘贴|特殊|乘以。这克服了以下事实:当您从文本更改为数字时,Excel永远不会重新计算该想法。对于单个单元格,在重新格式化后按F2键,然后按Enter键(立即不进行任何更改)将执行相同的操作而不会造成负担,但是如果这些日期中有14,293个...
3)您还可以使用“文本到列”功能实现2)的结果。只需选择数据并单击“文本到列”,然后选择“固定宽度”并将宽度线标记放置在“ 10”,然后最后单击“日期”作为列数据格式。按“完成”,您将准备一列实际日期,可以应用所需的格式。
老实说,一次性使用3)比2)简单,而且它“就地”发生,因此不会干扰您的结构。但是,您不想每次有人多年累累地添加日期时都这样做。提醒您,“一次使用”可能会一遍又一遍:说您清空数据并每周加载一次新数据集。然后3)不会是土耳其。而且,它的方法对于每次制作一些录制的宏都更容易。
好吧,一个小答案变得很久了,所以...