在 excel/csv 文件中将 yy-yy 格式化为 yyyy-yyyy?
Posted
技术标签:
【中文标题】在 excel/csv 文件中将 yy-yy 格式化为 yyyy-yyyy?【英文标题】:Format yy-yy to yyyy-yyyy in excel/csv file? 【发布时间】:2013-02-02 07:52:16 【问题描述】:您好,我有一个 excel 文件,它的年份列采用以下格式yy-yy
,有数千行。例如,
year
65-67
99-02
03-05
现在我希望这个专栏是这样的
year
1965-1997
1999-2002
2003-2005
可以用excel做吗?请帮忙。
【问题讨论】:
【参考方案1】:有点简单,但会完成工作:
=IF(VALUE(LEFT(A2,2))<=YEAR(TODAY())-2000,20,19)&LEFT(A2,2)&"-"&IF(VALUE(RIGHT(A2,2))<=YEAR(TODAY())-2000,20,19)&RIGHT(A2,2)
放入 B2(假设第一个字符串在 A2 中)并自动填充。
【讨论】:
很高兴帮助好友)不要忽视@BonCodigo 的回答,以便更清楚地了解如何在 Excel 中存储和维护日期。祝你好运! Excel 中的日期表示在这种情况下不适用(没有本机持续时间支持。数据已经存储为字符串,切出部分是最好的解决方案。世纪检查是合适,但也可以使用明智的缩放和舍入来实现。【参考方案2】:你可以试试Text
。但是鉴于您的情况,必须将日期和月份静态连接到年份。
Text("01/01/67","yyyy")
或
TEXT("Jan 67","yyyy")
参考:
Excel 如何解释两位数的年份
To ensure that year values are interpreted as you intended, type year values as four digits (2001, rather than 01). By entering four digits for the years, Excel won't interpret the century for you.
对于 Microsoft Windows 2000 或更高版本:
如果您使用的是 Microsoft Windows 2000 或更高版本,Windows 控制面板中的区域选项控制 Excel 如何解释两位数年份。
对于作为文本值输入的日期:
当您输入日期作为文本值时,Excel 会按如下方式解释年份:
00 到 29:Excel 将两位数的年份值 00 到 29 解释为 2000 到 2029 年。例如,如果您键入日期 5/28/19,Excel 假定日期是 2019 年 5 月 28 日。
30 到 99:Excel 将两位数的年份值 30 到 99 解释为 1930 到 1999 年。例如,如果您键入日期 5/28/98,Excel 假定日期是 1998 年 5 月 28 日。
【讨论】:
我不想要日期和月份,我只想要年份。就像我每年给定的一样(yy-yy 到 yyyy-yyyy) 但是为了得到年份,它必须表现得像一个日期......所以系统可以从一个日期识别出它是一个合适的年份......所以最丑陋的做法是一个静态月份标记,然后使用Text
获取Year
输出..
谢谢我在哪里可以使用这种格式。因为我在 excel 中不太出名。请给一些建议
您可以在 Excel 单元格中使用它,如图所示,也可以在 VBA 中使用。事实上,我正在尝试使用serial number
寻找一种更强大的方式来登陆年。
假设你的67
值在Column F2
,那么你可以写在Column G2
= Text("Jan " & F2, "yyyy")
结果1967
以上是关于在 excel/csv 文件中将 yy-yy 格式化为 yyyy-yyyy?的主要内容,如果未能解决你的问题,请参考以下文章
Excel/CSV - 如何停止 excel 自动将字符串格式化为日期
推荐一个跨平台支持Word, Excel, CSV, Email等30多种格式的操作库