สารบัญ
ในบทความนี้ เราจะดูวิธีต่างๆ ในการจัดเรียงวันที่ใน Excel คุณจะได้เรียนรู้วิธีจัดเรียงวันที่อย่างรวดเร็วตามลำดับเวลา จัดเรียงตามเดือนโดยไม่คำนึงถึงปี จัดเรียงวันเกิดตามเดือนและวัน และวิธีจัดเรียงตามวันที่โดยอัตโนมัติเมื่อป้อนค่าใหม่
ในตัวของ Excel ตัวเลือกการเรียงลำดับเป็นเครื่องมือที่ทรงพลังและมีประสิทธิภาพ แต่ก็ไม่ได้ทำงานอย่างถูกต้องเสมอไปเมื่อต้องเรียงลำดับวันที่ บทช่วยสอนนี้จะสอนเคล็ดลับที่มีประโยชน์บางประการในการจัดเรียง Excel ตามวันที่อย่างมีความหมายโดยไม่ทำให้ข้อมูลของคุณยุ่งเหยิง
วิธีจัดเรียงวันที่ตามลำดับเวลา
การจัดเรียง วันที่ตามลำดับเวลาใน Excel นั้นง่ายมาก คุณเพียงแค่ใช้ตัวเลือก เรียงจากน้อยไปมาก มาตรฐาน:
- เลือกวันที่ที่คุณต้องการจัดเรียงตามลำดับเวลา
- ในแท็บ หน้าแรก ในกลุ่ม รูปแบบ ให้คลิก จัดเรียง & กรอง และเลือก เรียงลำดับจากเก่าที่สุดไปหาใหม่ที่สุด หรือ คุณสามารถใช้ตัวเลือก A-Z บนแท็บ ข้อมูล ใน เรียงลำดับ & กรอง กลุ่ม
วิธีจัดเรียงตามวันที่ใน Excel
ตัวเลือกการจัดเรียงของ Excel ยังสามารถใช้สำหรับการจัดเรียงใหม่ ทั้งตารางไม่ใช่แค่คอลัมน์เดียว หากต้องการจัดเรียงระเบียนตามวันที่โดยรักษาแถวให้เหมือนเดิม ประเด็นสำคัญคือการขยายส่วนที่เลือกเมื่อได้รับแจ้ง
ต่อไปนี้เป็นขั้นตอนโดยละเอียดในการจัดเรียงข้อมูลใน Excel ตามวันที่:
- ใน สเปรดชีตของคุณ เลือกวันที่โดยไม่มีคอลัมน์ส่วนหัว
- บนแท็บ หน้าแรก คลิก จัดเรียง & กรอง และเลือก เรียงลำดับจากเก่าที่สุดไปใหม่ที่สุด .
- กล่องโต้ตอบ คำเตือนการจัดเรียง จะปรากฏขึ้น ปล่อยให้ค่าเริ่มต้น ขยายส่วนที่เลือก ตัวเลือกที่เลือกไว้ และคลิก จัดเรียง :
นั่นแหละ! บันทึกถูกจัดเรียงตามวันที่และแถวทั้งหมดจะถูกเก็บไว้ด้วยกัน:
วิธีจัดเรียงตามเดือนใน Excel
อาจมีบางครั้งที่คุณต้องการ เพื่อ จัดเรียงวันที่ตามเดือน โดยไม่สนใจปี เช่น เมื่อจัดกลุ่มวันครบรอบของเพื่อนร่วมงานหรือญาติของคุณ ในกรณีนี้ คุณลักษณะการจัดเรียงเริ่มต้นของ Excel จะไม่ทำงาน เนื่องจากจะพิจารณาปีเสมอ แม้ว่าเซลล์ของคุณจะถูกจัดรูปแบบให้แสดงเฉพาะเดือนหรือเดือนและวันก็ตาม
วิธีแก้ไขคือเพิ่มคอลัมน์ตัวช่วย แยกหมายเลขเดือนและจัดเรียงตามคอลัมน์นั้น ในการรับวันที่จากเดือน ให้ใช้ฟังก์ชัน MONTH
ในภาพหน้าจอด้านล่าง เราแยกหมายเลขเดือนจากวันที่ใน B2 ด้วยสูตรนี้:
=MONTH(B2)
เคล็ดลับ ถ้าผลลัพธ์แสดงเป็นวันที่แทนที่จะเป็นตัวเลข ให้ตั้งค่ารูปแบบ ทั่วไป เป็นเซลล์สูตร
และตอนนี้ จัดเรียงตารางของคุณตามคอลัมน์ เดือน สำหรับสิ่งนี้ ให้เลือกหมายเลขเดือน (C2:C8) คลิก จัดเรียง & กรอง > เรียงลำดับจากเล็กที่สุดไปหาใหญ่ที่สุด แล้วขยายส่วนที่เลือกเมื่อ Excel ขอให้คุณทำเช่นนั้น หากทำทุกอย่างถูกต้อง คุณจะได้รับสิ่งต่อไปนี้ผลลัพธ์:
โปรดทราบว่าขณะนี้ข้อมูลของเราจัดเรียงตามเดือน โดยไม่สนใจปีและวันในแต่ละเดือน หากคุณต้องการ จัดเรียงตามเดือนและวัน ให้ทำตามคำแนะนำจากตัวอย่างถัดไป
หากป้อนชื่อเดือนเป็น ข้อความ ให้จัดเรียง ตามรายการที่กำหนดเองตามที่อธิบายในตัวอย่างนี้
วิธีจัดเรียงวันเกิดใน Excel ตามเดือนและวัน
เมื่อจัดเรียงวันที่สำหรับปฏิทินวันเกิด วิธีแก้ปัญหาที่ดีที่สุดคือการจัดเรียงวันที่ตามเดือน และ วัน. ดังนั้น คุณต้องใช้สูตรที่จะดึงเดือนและวันจากวันเดือนปีเกิด
ในกรณีนี้ ฟังก์ชัน Excel TEXT ซึ่งสามารถแปลงวันที่เป็นสตริงข้อความในรูปแบบที่ระบุจะมีประโยชน์ . เพื่อวัตถุประสงค์ของเรา โค้ดรูปแบบ "mmdd" หรือ "mm.dd" จะใช้งานได้
ด้วยวันที่ต้นฉบับใน B2 สูตรจะอยู่ในรูปแบบนี้:
=TEXT(B2, "mm.dd")
ถัดไป จัดเรียงคอลัมน์ เดือนและวัน จากมากไปน้อย แล้วข้อมูลจะเรียงตามลำดับวันของแต่ละเดือน
ผลลัพธ์เดียวกันสามารถทำได้โดยใช้สูตร DATE ดังนี้:
=DATE(2000, MONTH(B2),DAY(B2))
สูตรสร้างรายการวันที่โดยแยกเดือนและวันออกจากวันที่จริงใน B2 และแทนที่ ปีจริงกับของปลอม 2000 ในตัวอย่างนี้ แม้ว่าคุณจะใส่อะไรก็ได้ แนวคิดคือการกำหนดให้วันที่ทั้งหมดเป็นปีเดียวกัน จากนั้นจึงเรียงลำดับรายการวันที่ตามลำดับเวลาเนื่องจากปีเหมือนกัน วันที่จะถูกจัดเรียงตามเดือนและวัน ซึ่งเป็นสิ่งที่คุณกำลังมองหา
วิธีจัดเรียงข้อมูลตามปีใน Excel
เมื่อพูดถึง การจัดเรียงตามปี วิธีที่ง่ายที่สุดคือการจัดเรียงวันที่ตามลำดับเวลาด้วยตัวเลือกการเรียงลำดับจากน้อยไปมากของ Excel ( เก่าที่สุดไปใหม่ที่สุด )
การดำเนินการนี้จะจัดเรียงวันที่ ตามปี จากนั้นตามเดือน และตามวันตามที่แสดงในภาพหน้าจอด้านล่าง
หากคุณไม่พอใจกับข้อตกลงดังกล่าวด้วยเหตุผลบางประการ คุณสามารถเพิ่ม คอลัมน์ตัวช่วยที่มีสูตร YEAR ที่แยกปีจากวันที่:
=YEAR(C2)
หลังจากจัดเรียงข้อมูลตามคอลัมน์ ปี คุณจะสังเกตเห็นว่าวันที่ถูกจัดเรียง ตามปีเท่านั้น ไม่สนใจเดือนและวัน .
หากคุณต้องการ จัดเรียงวันที่ตามวัน โดยไม่คำนึงถึงเดือนและปี ให้แยกวันโดยใช้ฟังก์ชัน DAY แล้วจัดเรียงตามคอลัมน์ วัน :
=DAY(B2)
วิธีจัดเรียงตามวันในสัปดาห์ใน Excel
ในการจัดเรียงข้อมูลตามวันในสัปดาห์ คุณจะต้องใช้คอลัมน์ตัวช่วยเหมือนในตัวอย่างก่อนหน้านี้ด้วย ในกรณีนี้ เราจะเติมคอลัมน์ตัวช่วยด้วยสูตร WEEKDAY ที่ส่งคืนตัวเลขที่ตรงกับวันในสัปดาห์ จากนั้นจัดเรียงตามคอลัมน์ตัวช่วย
สำหรับสัปดาห์ที่เริ่มต้นจากวันอาทิตย์ (1 ) ถึงวันเสาร์ (7) นี่คือสูตรที่จะใช้:
=WEEKDAY(A2)
หากสัปดาห์ของคุณเริ่มตั้งแต่วันจันทร์ (1) ถึงวันอาทิตย์(7) นี่คืออันที่ถูกต้อง:
=WEEKDAY(A2, 2)
โดยที่ A2 คือเซลล์ที่มีวันที่
สำหรับตัวอย่างนี้ เราใช้สูตรแรกและได้สิ่งนี้ ผลลัพธ์:
ในกรณีที่ป้อนชื่อวันในสัปดาห์เป็น ข้อความ ไม่ใช่วันที่ ให้ใช้คุณลักษณะการจัดเรียงแบบกำหนดเองตามที่อธิบายในตัวอย่างถัดไป
วิธีจัดเรียงข้อมูลใน Excel ตามชื่อเดือน (หรือชื่อวันในสัปดาห์)
ในกรณีที่คุณมีรายชื่อเดือนเป็น ข้อความ ไม่ใช่วันที่ที่จัดรูปแบบให้แสดง เดือนเท่านั้น การใช้การเรียงลำดับจากน้อยไปหามากของ Excel อาจเป็นปัญหา - มันจะจัดเรียงชื่อเดือนตามตัวอักษรแทนการเรียงลำดับเดือนตั้งแต่เดือนมกราคมถึงธันวาคม ในกรณีนี้ การจัดเรียงแบบกำหนดเองจะช่วย:
- เลือกระเบียนที่คุณต้องการจัดเรียงตามชื่อเดือน
- ในแท็บ ข้อมูล ใน จัดเรียง & กรอง กลุ่ม คลิก จัดเรียง .
- ในกล่องโต้ตอบ จัดเรียง ให้ทำดังนี้:
- ใต้ คอลัมน์ เลือกชื่อของคอลัมน์ที่มีชื่อเดือน
- ภายใต้ จัดเรียงตาม เลือก ค่าเซลล์ .
- ภายใต้ สั่งซื้อ เลือก รายการกำหนดเอง .
- ในกล่องโต้ตอบ รายการกำหนดเอง เลือก ชื่อเต็มของเดือน ( มกราคม , กุมภาพันธ์ , มีนาคม , …) หรือชื่อย่อ ( ม.ค. , ก.พ. , มี.ค. …) ขึ้นอยู่กับการแสดงเดือนในเวิร์กชีตของคุณ:
เสร็จแล้ว! ข้อมูลของคุณจัดเรียงตามชื่อเดือนตามลำดับเวลา ไม่ใช่ตามตัวอักษร:
เคล็ดลับ หากต้องการจัดเรียงตาม ชื่อของ วันในสัปดาห์ ให้เลือกชื่อเต็ม ( วันอาทิตย์ , วันจันทร์ , วันอังคาร , …) หรือชื่อย่อ ( อาทิตย์ , จันทร์ , อังคาร …) ในกล่องโต้ตอบ รายการที่กำหนดเอง
วิธีจัดเรียงอัตโนมัติตามวันที่ใน Excel
อย่างที่คุณได้เห็น คุณลักษณะการจัดเรียงของ Excel รับมือกับความท้าทายต่างๆ ข้อเสียเปรียบเพียงอย่างเดียวคือมันไม่ไดนามิก หมายความว่า คุณจะต้องจัดเรียงข้อมูลของคุณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงและทุกครั้งที่มีการเพิ่มข้อมูลใหม่ บางทีคุณอาจสงสัยว่ามีวิธีจัดเรียงโดยอัตโนมัติทุกครั้งที่มีการเพิ่มวันที่ใหม่เพื่อให้ข้อมูลของคุณเป็นระเบียบอยู่เสมอหรือไม่
วิธีที่ดีที่สุดในการดำเนินการนี้ให้สำเร็จคือการใช้มาโคร ด้านล่าง คุณจะพบตัวอย่างโค้ดสองสามตัวอย่างเพื่อจัดเรียงข้อมูลต่อไปนี้โดยอัตโนมัติตามวันที่ตามลำดับเวลา
มาโคร 1: จัดเรียงอัตโนมัติเมื่อมีการเปลี่ยนแปลงเวิร์กชีตทุกครั้ง
แมโครนี้ถูกดำเนินการเมื่อใดก็ตามที่มีการเปลี่ยนแปลงเกิดขึ้นที่ใดก็ได้ในเวิร์กชีต
จะถือว่าข้อมูลของคุณอยู่ในคอลัมน์ A ถึง C และวันที่ที่คุณต้องการเรียงลำดับจะอยู่ในคอลัมน์ C โดยเริ่มจาก C2 สันนิษฐานว่าแถวที่ 1 มีส่วนหัว (Header:=xlYes) หากระเบียนของคุณอยู่ในคอลัมน์อื่น ให้ปรับเปลี่ยนดังต่อไปนี้:
- เปลี่ยนการอ้างอิง A1 เป็นเซลล์ด้านซ้ายบนของคุณช่วงเป้าหมาย (รวมถึงส่วนหัว)
- เปลี่ยนการอ้างอิง C2 เป็นเซลล์บนสุดที่มีวันที่
มาโคร 2: จัดเรียงอัตโนมัติเมื่อ การเปลี่ยนแปลงจะเกิดขึ้นในช่วงที่กำหนด
หากคุณกำลังทำงานกับเวิร์กชีตขนาดใหญ่ที่มีข้อมูลจำนวนมาก การจัดเรียงใหม่เมื่อมีการเปลี่ยนแปลงใดๆ ในชีตอาจสร้างปัญหาได้ ในกรณีนี้ คุณควรจำกัดการทริกเกอร์ของมาโครไว้ที่การเปลี่ยนแปลงที่เกิดขึ้นในช่วงหนึ่งๆ รหัส VBA ต่อไปนี้จะจัดเรียงข้อมูลเฉพาะเมื่อมีการเปลี่ยนแปลงในคอลัมน์ C ที่มีวันที่
แผ่นงานย่อยส่วนตัว _Change ( ByVal Target As Range) เมื่อเกิดข้อผิดพลาด ดำเนินการต่อ ถัดไป หากไม่ตัดกัน (เป้าหมาย, ช่วง ( "C: C" )) ไม่มีอะไรแล้วช่วง ( "A1" ) .Sort Key1:=Range( "C2" ), _ Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:= False , _ Orientation:=xlTopToBottom จบถ้าจบย่อยเคล็ดลับ สามารถใช้มาโครเหล่านี้เพื่อจัดเรียงอัตโนมัติตาม ประเภทข้อมูลใดก็ได้ ไม่ใช่แค่วันที่ โค้ดตัวอย่างของเราเรียงลำดับจากน้อยไปหามาก หากคุณต้องการ เรียงลำดับจากมากไปน้อย ให้เปลี่ยน Order1:=xlAscending เป็น Order1:=xlDescending
วิธีเพิ่มมาโครในเวิร์กชีตของคุณ
เนื่องจากมาโครทั้งสองจะทำงานโดยอัตโนมัติในการเปลี่ยนแปลงของเวิร์กชีตควรใส่รหัสในแผ่นงานที่คุณต้องการจัดเรียงข้อมูล (Sheet1 ในตัวอย่างนี้) มีวิธีการดังนี้:
- กด Alt + F11 เพื่อเปิดโปรแกรมแก้ไข VBA
- ใน Project Explorer ทางด้านซ้าย ให้ดับเบิลคลิกที่แผ่นงานที่คุณต้องการ จัดเรียงอัตโนมัติ
- วางโค้ดในหน้าต่างโค้ด
จัดเรียงวันที่อัตโนมัติด้วยสูตร
สมมติว่าคุณมี รายการวันที่ และคุณต้องการให้จัดเรียงโดยอัตโนมัติตามลำดับเวลาในคอลัมน์แยกต่างหาก เคียงข้างกับรายการต้นฉบับ ซึ่งสามารถทำได้ด้วยสูตรอาร์เรย์ต่อไปนี้:
=IFERROR(INDEX($A$2:$A$20, MATCH(ROWS($A$2:A2), COUNTIF($A$2:$A$20, "<="&$A$2:$A$20), 0)), "")
โดยที่ A2:A20 เป็นวันที่ดั้งเดิม (ไม่เรียงลำดับ) รวมถึงเซลล์ว่างสองสามเซลล์สำหรับรายการใหม่ที่เป็นไปได้
ป้อนสูตรในเซลล์ว่างข้างคอลัมน์ที่มีวันที่เดิม (C2 ในตัวอย่างนี้) แล้วกดปุ่ม Ctrl + Shift + Enter พร้อมกันเพื่อทำให้สูตรสมบูรณ์ จากนั้น ลากสูตรลงไปที่เซลล์ที่เหลือ (C2:C20 ในกรณีของเรา)
เคล็ดลับ หากต้องการจัดเรียงวันที่ที่เพิ่มใหม่โดยอัตโนมัติ ต้องแน่ใจว่าได้รวมเซลล์ว่างในจำนวนที่เพียงพอในช่วงที่อ้างอิง ตัวอย่างเช่น รายการวันที่ของเราอยู่ในช่วง A2:A7 แต่เราใส่ $A$2:$A$20 ลงในสูตร และเติมลงในเซลล์ C2 ถึง C20 ฟังก์ชัน IFERROR ป้องกันข้อผิดพลาดในเซลล์พิเศษ โดยส่งคืนสตริงว่าง ("") แทน
จัดเรียง Excel ตามวันที่ไม่ทำงาน
หากวันที่ของคุณไม่ได้เรียงตามวันที่ควร เป็นไปได้มากว่าป้อนในรูปแบบที่ Excel ไม่เข้าใจ ดังนั้นจึงถูกมองว่าเป็นสตริงข้อความแทนที่จะเป็นวันที่ บทช่วยสอนต่อไปนี้จะอธิบายวิธีแยกแยะสิ่งที่เรียกว่า "วันที่แบบข้อความ" และแปลงเป็นวันที่ใน Excel ปกติ: วิธีแปลงข้อความเป็นวันที่ใน Excel
นั่นคือวิธีการจัดเรียงตามวันที่ใน Excel ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
ดาวน์โหลดได้
ตัวอย่างสูตรเรียงตามวันที่ (ไฟล์ .xlsx)
มาโครจัดเรียงอัตโนมัติ ( .xlsm)