【问题标题】:Excel file has mixture of dates as text and serial numbersExcel 文件混合了日期作为文本和序列号
【发布时间】:2017-08-15 15:01:18
【问题描述】:
我得到了一个 Excel 文件,其中有些日期实际上是 serial dates(42741、42800 等),有些只是文本。由于序列日期被格式化为日期,它们看起来都很相似,但 Excel 无法正确排序它们,并将它们显示为跨越一年而不是它们实际代表的两个月期间。
更糟糕的是,日期格式为美式 (mm/dd/yyyy),而我的系统使用国际格式 (dd/mm/yyyy)。
如何清理这些数据!?
【问题讨论】:
标签:
excel
date
excel-formula
【解决方案1】:
假设您的日期在 A 列中,将以下内容放在相邻列中并相应地复制下来。
=IF(ISNUMBER(A2),L7,DATE(RIGHT(A2,4),LEFT(A2,2),MID(A2,FIND("/",A2)+1,2)))
在功能区中使用 TEXT 到 Column 内置函数。
1) Select your range of mixed dates
2) Select Text-to-Columns
3) Keep selecting next until you come to the page after selecting delimiters
4) Choose your destination location (default is overnighting your data)
5) Select the column header in the preview
6) Select the Date radio button for format
7) Select the date format that matches the source format
序列日期保持不变,文本日期将被转换。
【解决方案2】:
在经历了很多悲伤之后,这是对我有用的方法。我希望它可以帮助其他人!
- 添加一个长度列,其中包含 =LEN(您的日期)。连续日期有 5 个字符,而文本日期有 7 个。按长度排序。
过滤 5 长(连续)日期,并将它们复制到相邻的
列。
在这些单元格上使用文本到列功能。分开
定界,在定界符下选择其他,然后键入“/”(或“.”,如果
相关的)。完成。
- 在相邻列中,使用 DATE 函数重构您的
日期、月份、年份配对成一个日期。 (请注意,如果您的年份只是
说,比如说,“17”,Excel 会假设它是 1917,所以要么添加
前导“20”或硬编码。)
- 现在,对您的 7 位数日期执行类似的过程 - 复制、拆分
通过“/”(或“.”),重新组合成日期。
- 将新日期复制回原来的位置并将其格式化为
“短期约会”。瞧! Excel 现在将它们识别为日期。你可以
按实际日期排序和过滤。