วิธีการเรียงลำดับวันที่โดยอัตโนมัติเมื่อป้อนข้อมูลหรือเปลี่ยนแปลงใน Excel?
ใน Excel ไฟล์ ประเภท ฟังก์ชันนี้สามารถช่วยให้คุณเรียงลำดับวันที่จากน้อยไปมากหรือจากมากไปน้อยตามที่คุณต้องการ แต่ฟังก์ชันนี้ไม่ได้เป็นแบบไดนามิก ถ้าคุณเรียงลำดับวันที่แล้วเพิ่มวันที่ใหม่เข้าไป คุณจะต้องเรียงลำดับใหม่อีกครั้ง มีวิธีที่ดีและรวดเร็วในการเรียงลำดับวันที่โดยอัตโนมัติเมื่อป้อนข้อมูลใหม่ทุกครั้งในเวิร์กชีตหรือไม่
จัดเรียงวันที่อัตโนมัติเมื่อป้อนหรือเปลี่ยนวันที่ด้วยสูตร
จัดเรียงวันที่อัตโนมัติเมื่อป้อนหรือเปลี่ยนวันที่ด้วยรหัส VBA
จัดเรียงวันที่อัตโนมัติเมื่อป้อนหรือเปลี่ยนวันที่ด้วยสูตร
ตัวอย่างเช่น หากวันที่เดิมอยู่ในคอลัมน์ 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 วันที่จะถูกเรียงลำดับจากน้อยไปมากโดยอัตโนมัติ
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!