我有一个基本的 Excel 2013 电子表格,用于跟踪公寓大楼的电器报废情况。我试图让一列按给定年份的月份进行排序。这是我目前看到的内容:
我希望所有月份按年份分组。这样我就能知道在某一年我有哪些电器要报废。
我想要实现的目标的示例:
2012 年
1 月2 日 2012 年 1 月 15 日
2012年 2 月 19 日 2012年 6 月 22 日 2012 年 12月 2 日 2013 年 1 月3 日 2013 年 2 月
17 日2013 年 8 月 5 日 2014 年 2 月 5 日 2014 年 11 月 15 日 2014 年 10 月 17 日 等等...
目前,它仅按月排序,而不是按年排序。我无论如何也不知道该如何实现这一点。很多谷歌搜索似乎都指向数据透视表,但这似乎不需要那么复杂才能完成。该列的格式为日期值。有人能指出实现目标的正确方向吗?
答案1
您想要实现的是默认设置,您不需要执行任何事情。
单元格内容似乎是文本而不是日期。这是按该顺序排序的唯一方法。
假设您的 PC 设置为美国区域设置,您需要按 F2,然后依次在每个单元格中输入,Excel 应该会将其识别为日期。
要检查 Excel 是否确实将其视为日期,只需将该列重新格式化为不同的日期格式(例如 ISO:yyyy-mm-dd)。如果屏幕上的格式发生变化,则您看到的是日期,如果没有,则您看到的是文本。
如果您的 PC不是设置为美国区域设置,最简单的方法可能是暂时这样设置,进行编辑,保存工作簿并重新设置区域设置。您的区域设置显示在控制面板中的国际设置中。
答案2
如果您尝试更改日期(或任何其他值)的格式,但实际上并没有改变,那么这就是知道数据是文本格式的万无一失的方法。明确的检查是使用ISNUMBER
函数,例如在 G2 中使用“日期”使用此公式
=ISNUMBER(G2)
如果得到TRUE
结果,则为有效日期;如果得到FALSE
结果,则为无效日期
这是可行的,因为在 Excel 中,实际日期只是格式化的数字
对于日期范围,您还可以使用COUNT
仅对数字进行计数的函数,因此如果您已经完全填充了日期范围,那么G2:G100
如果它们都是文本格式,则以下公式将得出零结果
=COUNT(G2:G100)
.....但如果它们是真实的日期,你就会得到它们的数量,即99
如果您的“日期”看起来像您所在地区有效格式的日期,那么应该可以使用“文本到列”功能将它们全部转换为日期
Select date column > Data > Text to columns > Finish
如果这不起作用,您可能需要实际设置源格式,如下所示:
Select date column > Data > Text to columns > Next > Next > at step 3 choose "date" radio button from "column data format" list and then from dropdown select the source date format - in your case MDY > Finish
不过,只有在转换您所在地区无法识别的日期格式时才需要后者
答案3
制作当然该列的格式为日期/时间,而不是字符串。例如,尝试将显示更改为 2012 年 1 月 1 日,然后再改回来。如果 Excel 将值视为日期,则简单排序应该可以满足您的要求。
如果需要保留为字符串,请将月日年分成不同的列(您可以隐藏这些列并仅显示连接部分)。然后,您可以进行多列排序以执行任何您想要的操作。
答案4
这听起来可能是一个奇怪的修复方法,但到目前为止,这是我见过的最简单的方法,并且是由于日期单元格内自动放置的时间出现一些混淆而引起的。
按 ctrl+f 将所有逗号 (,) 替换为空格 ( ),然后关闭 ctrl +f 对话框。选择屏幕左上角的主页,选择排序,然后按“连接”列排序,并按“从旧到新”的顺序排序。选择确定,您的数据就排序好了!