Note: The other languages of the website are Google-translated. Back to English

วิธีจัดเรียงวันที่อัตโนมัติเมื่อป้อนหรือเปลี่ยนวันที่ใน 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 คือช่วงวันที่เดิมของคุณที่คุณต้องการจัดเรียงอัตโนมัติ

จัดเรียงเอกสารอัตโนมัติตามวันที่ 1

2. จากนั้นจัดรูปแบบตัวเลขเป็นรูปแบบวันที่โดยคลิก วันที่สั้น จาก General รายการแบบหล่นลงใต้ หน้าแรก ดูภาพหน้าจอ:

จัดเรียงเอกสารอัตโนมัติตามวันที่ 2

3. จากนั้นหมายเลขลำดับจะถูกแปลงเป็นรูปแบบวันที่และวันที่เดิมได้รับการจัดเรียงเช่นกันดูภาพหน้าจอ:

จัดเรียงเอกสารอัตโนมัติตามวันที่ 3

4. จากนี้ไปเมื่อคุณป้อนวันที่ใหม่หรือเปลี่ยนวันที่ในคอลัมน์ A วันที่ในคอลัมน์ C จะเรียงลำดับจากน้อยไปมากโดยอัตโนมัติดูภาพหน้าจอ:

จัดเรียงเอกสารอัตโนมัติตามวันที่ 4


ลูกศรสีฟ้าฟองขวา จัดเรียงวันที่อัตโนมัติเมื่อป้อนหรือเปลี่ยนวันที่ด้วยรหัส 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

จัดเรียงเอกสารอัตโนมัติตามวันที่ 6

หมายเหตุ: ในรหัสด้านบนวันที่ที่ป้อนจะจัดเรียงอัตโนมัติในคอลัมน์ A คุณสามารถเปลี่ยนแปลงได้ A1 และ A2 ไปยังเซลล์ของคุณเองตามที่คุณต้องการ

3. จากนี้ไปเมื่อคุณป้อนวันที่ในคอลัมน์ A วันที่จะถูกเรียงลำดับจากน้อยไปมากโดยอัตโนมัติ


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (15)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณลืมบอกสูตรคืออาร์เรย์และคุณต้อง ctrl+Shift+ enter โชคดีที่คุณมีภาพหน้าจอไม่งั้นหน้าของคุณจะเปลืองไซเบอร์สเปซ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เกิดอะไรขึ้นถ้ามีวันที่ซ้ำกันในรายการ? และฉันต้องการให้ตัวเลขทั้งสองแสดงขึ้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ไรอัน

ในการจัดเรียงวันที่ด้วยวันที่ซ้ำกัน คุณควรใช้สูตรต่อไปนี้:

=IFERROR(INDEX($A$2:$A$11,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$11,"<="&$A$2:$A$11),0)),IF(ROWS($A$2:A2)<ROWS($A$2:$A$11),B3,""))

อย่าลืมกด Shift + Ctrl + Enter คีย์พร้อมกัน

หวังว่ามันจะช่วยคุณได้ ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สุดยอด :) ทำงานได้ดี
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะคำนวณการเรียงลำดับแบบเดียวกันนี้ได้อย่างไร แต่จากวันที่ใหม่สุดไปเก่าสุด ปัจจุบันมันเก่าที่สุดไปใหม่สุด การพลิกเครื่องหมาย < ไม่เพียงพอและมากกว่านั้น ฉันยังไม่เข้าใจสิ่งที่มันทำมากพอ นอกจากนี้ฉันคิดว่าสิ่งที่อาจเกิดขึ้นคือ excel ทำงานโดยอัตโนมัติจากบนลงล่างทำให้เกิดปัญหา
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคุณโบ

ในการเรียงลำดับวันที่จากใหม่สุดไปเก่าสุดโดยอัตโนมัติ คุณเพียงแค่เปลี่ยน <= เป็น >= ในสูตรด้านบนดังนี้:
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
หลังจากใส่สูตรนี้แล้ว อย่าลืมกด Ctrl + Shift + Enter คีย์พร้อมกันเพื่อให้ได้ผลลัพธ์ที่ถูกต้อง
โปรดลอง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นอกจากวันที่ที่ซ้ำกัน ยังมีวิธีการรวมข้อมูลหลายคอลัมน์เมื่อทำการเรียงลำดับหรือไม่? ฉันต้องการให้รวมหลายคอลัมน์และจัดเรียงทั้งหมดพร้อมกับวันหมดอายุ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันคลั่งไคล้การลงทะเบียนสมุดเช็คและใช้งานได้ แต่ฉันต้องการหาวิธีที่จะทำให้รายการของฉันเป็นลำดับวันที่ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ฉันยังคงเรียน excel
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีสูตรเฉพาะเพื่อให้เซลล์ตามวันที่เรียงลำดับหรือไม่? เป็นการดีที่จะจัดระเบียบตามวันที่ แต่เก็บข้อมูลไว้ทั้งแถว ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ด้วยรหัส VBA ฉันได้คัดลอกและวางข้อมูลข้างต้นแล้ว แต่ต้องการให้วันที่ในคอลัมน์ F เป็นค่าที่ใช้ในการจัดเรียงข้อมูล ฉันได้เปลี่ยนค่าช่วงเป็น F2 และ F3500 (ขนาดของสเปรดชีตโดยที่แถวที่ 1 เป็นชื่อ) แต่ยังคงจัดเรียงตามวันที่ในคอลัมน์ A ใครก็ได้ช่วยฉันที
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคุณโรส
เมื่อใช้โค้ดกับคอลัมน์ F คุณควรเปลี่ยนการอ้างอิงถึงความต้องการของคุณตามโค้ดด้านล่าง:
Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
'Updateby Extendoffice 20160606
เกี่ยวกับข้อผิดพลาดต่อไป
ถ้า Application.Intersect(Target, Application.Columns(6)) ไม่มีอะไรให้ออกจาก Sub
ถ้า Target.Count > 1 แล้วออกจาก Sub
Range("F1").Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ย่อยสิ้นสุด

โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัส VBA นั้นเป็นทองคำแข็ง! ขอขอบคุณ! :-)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี จะทำอย่างไรถ้าฉันต้องการทำสิ่งนี้กับหลายคอลัมน์หรือมีจุดเริ่มต้นใหม่ในคอลัมน์เดียวกัน ฉันจะหยุดพักและคัดลอกโค้ด VBA ซ้ำในหน้าต่างเดียวกันนั้นหรือไม่
ขอขอบคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี นี่เป็นเครื่องมือที่ยอดเยี่ยม ขอบคุณ. ฉันจะนำไปใช้กับหลายคอลัมน์ในแท็บเดียวกันได้อย่างไร ฉันสามารถใช้เพื่อเริ่มการเรียงลำดับตามวันที่ในเซลล์ใหม่ของคอลัมน์เดียวกันได้หรือไม่ ฉันจะใส่รหัส VBA ใหม่ในหน้าต่างเดียวกันหรือไม่
ขอขอบคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Noname9 สบายดีไหม เพื่อให้บรรลุเป้าหมายของคุณโดยใช้รหัส VBA อยู่ไกลเกินเอื้อม แต่ฉันรู้วิธีใช้สูตรเพื่อทำอุบาย สมมติว่าเรามีวันที่สองคอลัมน์ ให้พูดว่า A2:B7 จะจัดเรียงวันที่เหล่านี้ลงในคอลัมน์ใหม่ได้อย่างไร กรุณาทำดังนี้
อันดับแรก เราต้องรวมวันที่สองคอลัมน์เป็นคอลัมน์เดียว คัดลอกและวางสูตร =INDEX($A$2:$B$7,INT((ROWS(D$2:D2)-1)/2)+1,MOD(ROWS(D$2:D2)-1,2)+ 1) ลงในเซลล์ D2 และลากที่จับเติมลงไปเพื่อรวมวันที่ทั้งหมด โปรดดูภาพหน้าจอ 1
จากนั้นเราจะจัดเรียงวันที่รวมกัน คัดลอกและวางสูตร =INDEX($D$2:$D$13,MATCH(ROWS($D$2:D2),COUNTIF($D$2:$D$13,"<="&$D$2:$D$13) ,0)) เป็น F2 และลากที่จับเติมลงไปเพื่อจัดเรียงวันที่ทั้งหมด โปรดดูภาพหน้าจอ 2
หวังว่ามันจะช่วย มีวันที่ดี. ขอแสดงความนับถือ Mandy
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ