在Excel中输入或更改日期后,如何自动对日期进行排序?
在Excel中, 排序 函数可以帮助您根据需要以升序或降序对日期进行排序。 但这不是动态的,如果您对日期进行了排序,然后向其添加了新日期,则需要再次对其进行排序。 在工作表中每次输入新日期时,是否有任何好的快速方法可以自动对日期进行排序?
使用公式输入或更改日期时自动排序日期
例如,A列中的原始日期,以下公式可帮助您根据要排序的列自动对新助手列中的日期或任何其他文本字符串进行排序,请执行以下操作:
1。 输入以下公式:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) 放入日期列旁边的空白单元格中, C2,例如,然后按 Ctrl + Shift + Enter 键,您将获得一个数字序列,然后将填充手柄向下拖动到要使用的单元格,请参见屏幕截图:
备注:在上式中: A2:A15 是您要自动排序的原始日期范围。
2. 然后通过单击将数字格式化为日期格式 短期约会 来自 一般 下的下拉列表 公司首页 标签,请参见屏幕截图:
3。 然后,序列号已转换为日期格式,并且原始日期也已排序,请参见屏幕截图:
4。 从现在开始,当您输入新日期或更改A列中的日期时,C列中的日期将自动按升序排序,请参见屏幕截图:
使用VBA代码输入或更改日期时自动排序日期
当您输入新日期或根据需要更改日期时,以下VBA代码可以帮助您自动对原始列中的日期进行排序。
1。 输入或更改日期时,转到要自动对日期进行排序的工作表。
2。 右键单击工作表标签,然后选择 查看代码 从上下文菜单中,弹出 Microsoft Visual Basic应用程序 窗口,请复制以下代码并将其粘贴到空白处 模块 窗口,请参见屏幕截图:
VBA代码:输入或更改日期时自动排序:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
备注:在上面的代码中,输入的日期将在A列中自动排序,您可以更改 A1 和 A2 放到自己需要的单元格中。
3。 从现在开始,当您在A列中输入日期时,该日期将自动升序排序。
最佳办公效率工具
Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%
- 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
- 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
- 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
- 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
- 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
- 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
- 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
- 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
- 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!















