การเรียงลำดับข้อมูลเป็นส่วนสำคัญของการวิเคราะห์ข้อมูล และ Excel ก็มีเครื่องมือเพื่อช่วยให้การจัดเรียงลำดับเป็นเรื่องง่ายในหลายรูปแบบ
เราจัดเรียงข้อมูลกันเป็นปกติอยู่แล้ว อาจเป็นลำดับตัวอักษร ลำดับตัวเลข หรือลำดับเวลาก็ได้ เพื่อค้นหาและวิเคราะห์ข้อมูลเฉพาะส่วนอย่างรวดเร็ว โดยเฉพาะอย่างยิ่งเมื่อทำงานกับข้อมูลจำนวนมาก
การจัดเรียงเหล่านี้ จะเริ่มต้นด้วย การคลิกเลือกพื้นที่ ที่ต้องการจัดเรียง แล้วไปที่แท็บ ข้อมูล หรือ Data ในกลุ่มคำสั่ง Sort & Filter จะมี 3 ไอคอนที่เกี่ยวกับการจัดเรียง นั่นคือ จัดเรียงแบบเร็วจากน้อยไปมาก (A to Z) จัดเรียงแบบเร็วจากมากไปน้อย (Z to A) และ Sort ซึ่งเรากำหนดรายละเอียดการจัดเรียงได้
![เรียงลำดับข้อมูล](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/sort-01.png?resize=1024%2C290&ssl=1)
![](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/Sort_02.jpg?resize=216%2C91&ssl=1)
อย่างเช่นตัวอย่าง มีข้อมูลในคอลัมน์ A ถึง V
ถ้าเราคลิกครอบคลุมคอลัมน์ทั้งหมด แล้วเลือก จัดเรียงแบบเร็วจากน้อยไปมาก (A to Z) หรือ จัดเรียงแบบเร็วจากมากไปน้อย (Z to A) Excel จะจัดเรียงโดยถือเอาคอลัมน์ที่อยู่ทางซ้ายมือเป็นหลัก ซึ่งในที่นี้ก็คือคอลัมน์ A
อย่างไรก็ดี ส่วนใหญ่แล้ว Excel คิดว่ามีหัวคอลัมน์ให้โดยอัตโนมัติ
แต่ก็มีรายละเอียดที่อาจจะต้องแยกตามหัวข้อดังนี้
เรียงลำดับข้อมูลแบบพื้นฐาน
เรามาพูดถึงข้อมูลทั่วไปใน Excel 3 ประเภท นั่นคือ ถ้าไม่เก็บเป็น ข้อความ (text) ก็เก็บเป็นตัวเลข (number) หรือไม่ก็วันที่/เวลา (date/time)
ทั้ง 3 ประเภทนี้มีหลักการเรียงลำดับที่เหมือนกัน (ความจริง วันที่/เวลา ก็เก็บข้อมูลเป็นตัวเลขนะ จะนับว่าเป็นแค่ 2 ประเภทก็ได้)
ถ้าเราจะจัดเรียงข้อมูลเหล่านี้ง่าย ๆ ก็เพียงแค่ เลือกคอลัมน์ที่ต้องการ ไปที่แท็บข้อมูล (Data) แล้วคลิกคำสั่ง A ถึง Z ในกลุ่มเรียงลำดับและกรอง (Sort & Filter) จากนั้น Excel จะเรียงลำดับให้เอง ไม่ว่าจะเป็นเรียงตาม ตัวอักษร หรือ ตัวเลข หรือ วันที่/เวลา
Tips and Tricks
ถ้าท่านเลือกเพียงแค่คอลัมน์เดียว เมื่อท่านกดเรียงลำดับ จะมีหน้าต่างขึ้นมาเพื่อให้ท่านตัดสินใจว่า จะขยายการเลือกให้ครอบคลุมทั้งตารางหรือไม่ หรือว่าจะยืนยันว่าจะดำเนินการเฉพาะคอลัมน์นั้น
หากท่านเรื่อง Expand หรือขยาย Excel จะเลือกข้อมูลให้ทั้งหมด หมายความว่าการเปลี่ยนแปลงในคอลัมน์นี้ จะมีผลต่อคอลัมน์อื่นด้วย แต่ถ้าคลิกเลือก continue current selection – เฉพาะคอลัมน์ จะทำให้การเรียงลำดับนั้น เกิดขึ้นเฉพาะคอลัมน์นั้นเท่านั้น คอลัมน์อื่นจะไม่มีการเปลี่ยนแปลงตามไปด้วย
อย่าลืมความสำคัญของการจัดรูปแบบข้อมูลของคุณอย่างเหมาะสมก่อนการจัดเรียง หากข้อมูลไม่ได้จัดรูปแบบอย่างถูกต้อง Excel อาจจัดเรียงข้อมูลไม่ถูกต้อง ตัวอย่างเช่น ถ้าคุณมีตัวเลขที่จัดเก็บเป็นข้อความ Excel อาจจัดเรียงตามตัวอักษรแทนที่จะเป็นตัวเลข
หรือ ถ้าคุณจัดเรียงข้อมูลที่เป็นตัวเลข แต่อาจจะได้ผลลัพธ์ผิดปรกติ ถ้าคอลัมน์นั้นมีตัวเลขที่จัดเก็บเป็นข้อความ แทนที่จะเป็นตัวเลข ให้ตรวจสอบว่า มีค่าอะไรแปลก ๆ เช่น ค่าติดลบ (กรณีที่นำเข้าจากซอฟต์แวร์บัญชีบางตัว) หรือตัวเลขที่มีเครื่องหมายอัญประกาศเดี่ยว (‘) ด้านหน้าจะมีการจัดเก็บเป็นข้อความ เช่นเดียวกับ วันที่และเวลาอาจจะโดนจัดเก็บเป็นข้อความแทนที่จะเป็นวันที่หรือเวลา
ปัญหาเหล่านี้ หลีกเลี่ยงได้โดยการจัดรูปแบบข้อมูลให้ถูกต้องก่อนจัดเรียง หากต้องการจัดรูปแบบข้อมูลเป็นข้อความ ให้เลือกเซลล์ที่คุณต้องการจัดรูปแบบ กด Ctrl+1 เพื่อเปิดกล่องโต้ตอบจัดรูปแบบเซลล์ (Format Cell…) คลิกแท็บตัวเลข (Number) จากนั้นภายใต้ categories ให้คลิกทั่วไป (general) ตัวเลข (number) หรือ ข้อความ (text)
หากต้องการเรียงลำดับตามวันในสัปดาห์ ให้จัดรูปแบบเซลล์เพื่อแสดงวันในสัปดาห์ หากคุณต้องการเรียงลำดับตามวันในสัปดาห์โดยไม่คำนึงถึงวันที่ ให้แปลงข้อมูลเป็นข้อความโดยใช้ฟังก์ชันข้อความ แต่ฟังก์ชันข้อความจะส่งคืนเป็นค่าข้อความ ดังนั้นการจัดเรียงจะเป็นไปตามข้อมูลที่เป็นอักษรและตัวเลข
ปัญหาที่อาจเกิดขึ้นอีกประการหนึ่งคือช่องว่างอยู่ด้านหน้า และอย่าลืมว่า ช่องว่าง – space ก็นับเป็นอักขระ บางครั้ง ข้อมูลที่เราใช้ จะมาจากดาตาเบส หรือ ซอฟต์แวร์ หรือ แอปพลิเคชันอื่น ช่องว่างเหล่านี้อาจส่งผลต่อลำดับการจัดเรียง ดังนั้นต้องจัดการข้อมูลเหล่านี้ก่อนจัดเรียงลำดับ จัดการด้วยตนเองได้ หรือสามารถใช้ฟังก์ชันตัดแต่งได้โดยใช้ฟังก์ชัน TRIM
ปรับแต่งการจัดเรียงลำดับ
หลายครั้งที่เราต้องการเรียงลำดับในแบบอื่น ๆ นอกเหนือจากการจัดเรียงแบบพื้นฐานทั่วไป ซึ่งในตอนนี้จะกล่าวถึงบางส่วนที่ Excel จัดเตรียมไว้ให้ทำงานได้อย่างราบรื่นและง่ายดาย
เรียงลำดับตามคอลัมน์มากกว่า 1 คอลัมน์
เวลาทำงานส่วนใหญ่ เรามักจะไม่เรียงลำดับตามคอลัมน์ใดคอลัมน์หนึ่งเท่านั้น เราอาจจำเป็นต้องเรียงลำดับมากกว่า 1 คอลัมน์ โดยจัดอันดับความสำคัญเรียงกันไป
ตัวอย่างเช่น ท่านอาจจะต้องการจัดลำดับตาม District (พื้นที่) ก่อน จากนั้นจะมาเรียงลำดับตามประเภท Payment และตามด้วย เรียงลำดับตามวันที่ทำธุรกรรม (Reg Date)
หมายเหตุ สามารถจัดเรียงลำดับได้สูงสุด 64 คอลัมน์
เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ช่วงของเซลล์ที่เรียงลำดับควรมีส่วนหัวของคอลัมน์ด้วย
วิธีการคือ เลือกช่วงข้อมูลทั้งหมด บนแท็บ ข้อมูล (Data) ในกลุ่ม เรียงลำดับและกรอง (Sort & Filter ให้คลิก เรียงลำดับ (Sort)
จะมีหน้าต่าง Sort หรือ เรียงลำดับ เปิดขึ้นมา
ด้านบนหน้าต่างนี้ จะมี Add Level (เพิ่มระดับ) | Delete Level (ลดระดับ) | Copy Level (สำเนาระดับ)| ลูกศรชี้ขึ้น | ลูกศรชี้ลง | Options (ตัวเลือก) และ My Data has Headers (ข้อมูลมีหัวตาราง) – ซึ่งแนะนำให้ติ๊กเครื่องหมายถูกที่ตัวนี้ จะได้จัดการง่าย ๆ จากชื่อคอลัมน์ที่ตั้งไว้ ไม่อย่างนั้นจะกลายเป็นคอลัมน์ A B C D ซึ่งเราอาจจะจำไม่ได้ว่าเป็นคอลัมน์อะไร
![](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/sort-03.png?resize=1024%2C291&ssl=1)
ด้านล่างลงมา จะแบ่ง 3 ส่วน คือ Columns Sort On และ Order
- ที่ Column ให้เลือกคอลัมน์แรกที่จะเรียงลำดับ (ในตัวอย่างนี้คือ District)
- ที่ Sort On ให้เลือก Cell Values
- ที่ Order เลือก A to Z (จากน้อยไปมาก หรือจะเลือกอันอื่นก็แล้วแต่)
จากนั้นให้กด Add Level ด้านบน เพื่อเพิ่มการจัดเรียงอีกลำดับหนึ่ง
ที่ Column ให้เลือกคอลัมน์แรกที่จะเรียงลำดับ (ในตัวอย่างนี้คือ Payment)
ที่ Sort On ให้เลือก Cell Values
ที่ Order เลือก A to Z (จากน้อยไปมาก หรือจะเลือกอันอื่นก็แล้วแต่)
จากนั้นให้กด Add Level ด้านบน เพื่อเพิ่มการจัดเรียงอีกลำดับหนึ่ง
ที่ Column ให้เลือกคอลัมน์แรกที่จะเรียงลำดับ (ในตัวอย่างนี้คือ Reg Date)
ที่ Sort On ให้เลือก Cell Values
ที่ Order ตรงนี้จะเปลี่ยนจาก A to Z (จากน้อยไปมาก) เป็น Oldest To Newest คือจากเก่าสู่ใหม่ ค่าใน Order หรือการเรียงลำดับนี้ จะสัมพันธ์กับประเภทข้อมูลในคอลัมน์นั้น ๆ
ถ้าคอลัมน์นั้นเป็นข้อมูลประเภท ข้อความ (text) ตัวเลือกจะเป็น A to Z หรือ Z to A
ถ้าคอลัมน์นั้นเป็นข้อมูลประเภท ตัวเลข ตัวเลือกจะเป็น Smallest to Largest (เรียงลำดับจากน้อยที่สุดไปหามากที่สุด) หรือ Largest to Smallest มากที่สุดไปหาน้อยที่สุด
ถ้าคอลัมน์นั้นเป็นข้อมูลประเภท วันที่หรือเวลา ตัวเลือกจะเป็น Oldest To Newest เก่าที่สุดไป
ซึ่งเราสามารถ ลบระดับ โดยกด Delete Level หรือจะ คัดลอกคอลัมน์ที่จะเรียงลำดับตาม ให้ Copy Level หรือเปลี่ยนระดับความสำคัญ โดยการคลิกลูกศรขึ้นหรือ ลง โดย รายการที่อยู่ด้านบน จะได้รับการจัดเรียงข้อมูลก่อนรายการที่อยู่ต่ำกว่า
เรียงลำดับข้อมูลตามการจัดรูปแบบ (สีของเซลล์-สีตัวอักษรหรือไอคอน)
จากหัวข้อที่แล้ว ในหน้าต่าง Sort จะเห็นว่า ตรง Sort On จะมีตัวเลือกอื่นนอกเหนือจาก Cell Values เรายังมีตัวเลือกเป็น สีของเซลล์ (Cell Colors), สีฟอนต์ (Font Colors) ไอคอน (icon)
ถ้าเราจัดรูปแบบช่วงของเซลล์หรือคอลัมน์ตารางโดยใส่สีที่แตกต่างกัน ไม่ว่าจะเป็นสีของเซลล์หรือว่าสีของตัวอักษรก็ตาม หรือไอคอน เราสามารถเรียงลำดับตามสีเหล่านี้ได้ด้วย (ขอแสดงวิธีแค่สีของเซลล์อย่างเดียว ที่เหลือใช้วิธีแบบเดียวกัน)
- เลือกคอลัมน์ที่ต้องการเรียงลำดับ
- บนแท็บ ข้อมูล (Data) ในกลุ่ม เรียงลำดับและกรอง (Sort & Filter) ให้คลิก เรียงลำดับ (Sort)
- หน้าต่าง Sort จะปรากฏขึ้นมา
- ตรง Sort On ให้เลือก Font Colors หรือ Cell Colors หรือ icon แล้วแต่รูปแบบที่ต้องการ
- เมื่อเลือกแล้ว ตัวเลือกในส่วนของ Order จะเปลี่ยนไป
- เราจะต้องคลิกเลือกสี (หรือไอคอน) เอง (จะมีสีที่ปรากฏในช่วงข้อมูลนั้นมาให้โดยอัตโนมัติ) โดยกำหนด on top หรือ bottom (บนหรือล่าง) และเมื่อได้แล้ว ก็ต้องทำซ้ำอีก (โดยกด copy level) แล้วเปลี่ยนสี
![เรียงลำดับข้อมูล](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/sort-05.png?resize=1024%2C291&ssl=1)
เรียงลำดับข้อมูลตามรายการที่กำหนดเอง
นอกจากเรียงตามมากไปน้อย เรียงตามตัวอักษร ตัวเลข เรายังออกแบบการเรียงลำดับเองได้ด้วย
ตัวอย่างเช่น จากตัวอย่าง คอลัมน์ WordDay จะบันทึกเป็น Mon, Tue…Fri หากเราใช้การเรียงลำดับทั่วไป ลำดับน้อยที่สุดจะขึ้นด้วย Fri
แต่เราสามารถกำหนดได้เองว่า จะให้เรียงลำดับ เริ่มจาก mon ต่อด้วย tue, wed…
วิธีการก็คือ ตรง Order ให้คลิกเลือกเป็น custom list หรือ กำหนดเอง
![เรียงลำดับข้อมูล](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/sort-06.png?resize=1024%2C337&ssl=1)
ซึ่งถ้าเป็นอย่าง mon, tue แบบนี้จะมีตัวเลือกให้เลือกอยู่ตรงนี้แบบสำเร็จรูป แต่ถ้ารูปแบบที่เราต้องการไม่อยู่ในแบบสำเร็จที่มีให้ เราคลิกเลือก new list แล้วพิมพ์ที่เราต้องการเรียงลำดับ คั่นด้วยจุลภาพ
หรือวิธีสร้างลิสต์เรียงลำดับอีกอย่าง
อย่างเช่น ในเรื่อง Payment ถ้าจะสร้างลิสต์รายการเรียงลำดับใหม่ DefExcel.com จะทำแบบนี้
- copy เลือกเฉพาะข้อมูลในคอลัมน์ Payment ออกมาวางที่ชีตใหม่
- แล้วไปที่แท็บ Data แล้วเลือก Remove Duplicates เราจะได้ค่า Payment ที่ไม่ซ้ำกัน
- จากนั้นเราจากเลือกค่าที่ไม่ซ้ำกันนี้
ไปที่ ไฟล์ > ตัวเลือก > ขั้นสูง > เลื่อนลงมาดูตรงส่วน ทั่วไป > แก้ไขรายการแบบกำหนดเอง
(File > Options > Advance > General > edit custom lists
ในหน้าต่าง รายการแบบกำหนดเอง ให้คลิก นำเข้า (import) แล้วคลิก ตกลง รายการที่เราทำนี้จะไปอยู่ใน แบบรายการกำหนดเอง
![](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/sort-07.png?resize=845%2C690&ssl=1)
หมายเหตุ:
สร้างรายการแบบกำหนดเองได้ตามค่า (ข้อความ ตัวเลข และวันที่หรือเวลา) เท่านั้น ไม่สามารถสร้างรายการที่กำหนดเองตามรูปแบบ (สีของเซลล์ สีแบบอักษร หรือไอคอน) ได้
ความยาวสูงสุดสำหรับรายการแบบกำหนดเองคือ 255 อักขระ
Options
ในหน้าต่าง Sort เราสามารถปรับแต่งตรงตัวเลือก หรือ Options ได้ด้วย สิ่งแรกคือ เช็คบ็อก ที่จะเลือกได้ว่าจะให้เรียงลำดับโดยแยกตัวพิมพ์เล็กพิมพ์ใหญ่หรือไม่ (ใช้ได้เฉพาะภาษาอังกฤษหรือตัวอักษรโรมัน ภาษาไทยไม่มีผล)
![](https://i0.wp.com/defexcel.com/wp-content/uploads/2023/04/sort-08.png?resize=1024%2C290&ssl=1)
หรือ แทนที่จะเรียงจากบนลงล่าง (ตามคอลัมน์) เรายังสามารถเปลี่ยนเป็นเรียงจากซ้ายไปขวา (เรียงตามแถว) ได้ด้วย ถ้าคลิกตรงนี้แล้ว จะเปลี่ยนจากคอลัมน์เป็นแถว (สังเกตได้ว่า จะเริ่มจากแถวที่) นอกจากนั้นวิธีการเรียงลำดับก็ไม่ต่างจากการเรียงตามคอลัมน์แต่อย่างใด
Tips and Tricks
ทั้งหมดที่กล่าวมาคือเรื่องพื้นฐานโดยทั่วไปเกี่ยวกับการเรียงลำดับ แต่ก่อนจบบล็อกนี้ ยังมีสิ่งที่อยากจะเตือนเอาไว้บางประการ
ตรวจสอบว่าค่าที่ส่งคืนโดยสูตรมีการเปลี่ยนแปลงหรือไม่? ถ้าข้อมูลที่เรียงลำดับมีสูตรอย่างน้อยหนึ่งสูตร การส่งคืนสูตรเหล่านั้นอาจเปลี่ยนไปเมื่อเวิร์กชีตมีการคำนวณใหม่ ในกรณีนี้ โปรดอย่าลืมเรียงลำดับอีกครั้งเพื่อให้ได้ผลลัพธ์ที่อัปเดตแล้ว
ยกเลิกการซ่อนแถวและคอลัมน์ก่อนเรียงลำดับคอลัมน์ที่ซ่อนอยู่จะไม่เคลื่อนย้ายเมื่อเรียงลำดับคอลัมน์ และแถวที่ซ่อนจะไม่เคลื่อนย้ายมาเมื่อเรียงลำดับแถว ก่อนเรียงลำดับข้อมูล เราขอแนะนำให้ยกเลิกการซ่อนคอลัมน์และแถวก่อน นะจ๊ะ
ตรวจสอบการตั้งค่าภาษา การจัดเรียงจะแตกต่างกันไปตามการตั้งค่าภาษา โปรดตรวจสอบให้แน่ใจว่าคุณมีการตั้งค่าภาษาที่เหมาะสมในการตั้งค่าภูมิภาค หรือตัวเลือกภูมิภาคและภาษา
ตามปกติ เราแนะนำให้ข้อมูลตารางมีแถวที่เป็นส่วนหัว เพื่อให้สื่อถึงข้อมูลได้ง่ายขึ้น แต่ส่วนหัวของคอลัมน์ต้องอยู่ในแถวเดียวเท่านั้น ถ้าต้องการแสดงชื่อคอลัมน์ที่มีหลายบรรทัด ให้ใช้วิธีตัดข้อความภายในเซลล์แทน นะจ๊ะ
Pingback: TRIM - Def Excel