将2017/2/3更改为2017/02/03


0

我在Excel中有一列,但不以日期格式显示日期,而是以文本格式显示,对于那些具有一个月或日字符的日期,其值之前不包含零。

例如,我们有2017/1/3或2017/11/4,但我想将它们更改为2017/01/03 // 2017/11/04。

如何在不使用日期格式的情况下以简单的方式执行此操作?这是我尝试过的太长且复杂的操作:

  1. 将日期拆分为年,月和日
  2. 如果月份的长度<2,则在月份前加0
  3. 如果日长<2,则在日前加0
  4. 建立新日期

那么,您尝试的结果出了什么问题?
汤姆·布伦伯格

@TomBrunberg是如此漫长而复杂,我想要一个简单的方法...我宁愿不要分割日期
abi

1
请编辑您的问题并添加“过长而复杂”的尝试,如果可以简化,请有人看看。
汤姆·布伦伯格

1
值是“ 2017/1/3”,您要使用公式还是宏?但不是= TEXT(“ 2017/1/3”,“ YYY / mm / dd”)
datatoo

Answers:


1

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)不会是土耳其。而且,它的方法对于每次制作一些录制的宏都更容易。

好吧,一个小答案变得很久了,所以...


1

由于您的日期为TEXT格式,因此我建议您将其转换为Excel日期的最简单方法。

请执行下列操作:

  1. 键入0在细胞和复制,或者你也可以复制任意空白单元格。
  2. 选择日期范围。
  3. 右键单击&从弹出菜单中单击选择性粘贴,然后从操作选项中单击添加并单击 确定完成 。
  4. 现在,日期将看起来像数字,即43322
  5. 由于已经选择了日期,因此只需右键单击&从菜单中单击设置单元格格式命令。
  6. 最后应用yyyy/mm/dd格式并按确定完成
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.