ลบแถวว่าง ลบช่องว่าง เพื่อ clean ข้อมูลเตรียมสำหรับการทำ lookup ซึ่งจากปัญหาที่พบ จากการ Export ข้อมูลมาจากซอฟต์แวร์อื่น แล้ว มีปัญหาว่า ข้อมูลบางแถวเป็นแถวว่าง หรือ มีแถวแปล่า ๆ ยาวเหยียดตามหลังจากกลุ่มข้อมูลมา ซึ่งต้องการจะเอาออก
พวกแถวว่างเปล่าที่แทรกอยู่ในกลุ่มข้อมูลนี้ จะมีปัญหา ทั้งเวลาทำงานที่ต้องใช้สูตรเกี่ยวกับการอ้างอิง หรือ lookup ซึ่งจะทำให้เกิด error หรือยกตัวอย่างง่าย ๆ เวลาเราจะใช้ Filter ในการกรองข้อมูลไม่ได้ มันจะไปติดที่แถวสุดท้ายก่อนว่าง
วันนี้ ขอเสนอวิธีการ Clean แถวว่างเหล่านี้ออกไปสำหรับการทำงาน
ลบแถวว่าง ที่แทรกอยู่ในกลุ่มข้อมูล
การลบแถวว่าง เราอาจจะใช้วิธี Sort หรือ เรียงลำดับข้อมูล พวกช่องว่างก็จะไปเรียงอยู่แถวล่าง ๆ หรือจะกำหนดก็ได้ ว่าจะให้เรียงลำดับจากน้อยกว่าไปมากกว่า หรือ มากกว่าไปน้อยกว่า แต่สำหรับข้อมูลบางอย่าง ไม่สามารถเรียงลำดับได้ เพราะมี “ลำดับเฉพาะเจาะจง” บางอย่างก็อาจจะใช้วิธีเพิ่มคอลัมน์ กำหนด “ลำดับ” ไว้ก่อน เมื่อไปสั่งเรียงข้อมูลเพื่อลบแถวว่างแล้ว ก็เรียงกลับมาใหม่ตามคอลัมน์ “ลำดับ” ที่สร้างขึ้น
หรือไม่ ก็มีอีกวิธีหนึ่ง ไม่ยาก คือการเลือก คลุมพื้นที่ทั้งหมด กด Ctrl + G (หรือปุ่ม F5 ก็ได้ หรือ ไปที่ Home ดูที่ Find and Select ก็ได้) เลือก Go to Special เลือก blanks แล้วกด โอเค มันจะเลือกเซลล์ที่เป็นช่องว่างใน คอลัมน์ที่เลือกให้ทั้งหมด (ลองย้อนกลับไปอ่านเรื่องการใช้ Go To Special ได้นะ)
กด Home -> Delete -> Delete Sheet Rows
เสร็จ เรียบร้อย สำหรับ แถวว่าง จริง ๆ ก็ไม่ได้ยากเย็นอะไร
แต่ยังมีอีกปัญหาหนึ่ง คือ ดันมีแถวว่าง ๆ ต่อด้านล่างเยอะไปหมด
ลบแถวว่าง ด้านล่าง
ในตัวอย่างที่ให้มา จะเห็นว่า มีแถวว่าง ๆ เกิดขึ้นหลังกลุ่มข้อมูลจำนวนมาก สาเหตุเพราะว่า ต้นฉบับนี้มีข้อมูลอยู่เยอะมาก แต่ได้มีการลบ แก้ไข ดำเนินการกรอง เลือก จนเหลือเท่าที่เห็น
แต่ แถวว่าง ๆ ยังคงอยู่เสมือนมีข้อมูลอยู่เต็มอัตราเลยล่ะ ตรวจสอบได้จากการกด CTRL+ END ซึ่งเป็น Shortcut ที่จะไปเลือกเซลสุดท้ายที่มีข้อมูล แทนที่จะเลือกมันจะไปเลือก เซลสุดท้ายของกลุ่มข้อมูลที่มี มันดันไปเลือกที่เซลล์ว่าง ๆ สุดเวิ้งว้าง ทำเอาเราสงสัยว่า เอ๊ะ หรือจะมีข้อมูลอยู่ แล้วเปลี่ยนสีเป็นสีขาว มองไม่เห็นนะ แต่ตรวจดูแล้วก็ไม่มี
เป็นกลุ่มเซลว่างเปล่าที่เห็นแล้วคันหัวใจ อยากกำจัดทิ้ง
Tips: จากตัวอย่างนี้ ถ้าใช้ CTRL+SHIFT + SPACE มันจะเลือกกลุ่มที่มีข้อมูลอยู่ จนถึง แถวที่ว่างทั้งแถว (ถ้าเราไม่กำจัดแถวว่าง ตามวิธีข้างบนก่อน มันจะมาหยุดที่บรรทัดสุดท้ายก่อนแถวว่าง) แต่ถ้าใช้ CTRL+ END มันจะไปอยู่ที่เซลสุดท้ายที่ยัง active อยู่
พวกนี้คือ กลุ่มที่เคยมีข้อมูลอยู่ แต่เราลบทิ้งแล้ว แต่ Excel ดันไม่ยอม “ลืม” ยังจำเสมือนว่ามีข้อมูลอยุ่ในนั้น ลองกด CTRL+END มันจะไปหยุดที่ W65535
ตรงนี้มีสองทางเลือก
1 copy เฉพาะส่วนข้อมูล ไปเปิด sheet ใหม่ (5555555555555 แต่มันง่ายสุดจริง ๆ นะ)
2 โชว์เก๋า ด้วยการใช้คำสั่ง VBA เพื่อให้ Excel ลืมส่วนที่ไม่ใช้ซะ กด Alt + F11 เพื่อเปิด Visual Basic Editor
(บางครั้งเปิดมาแล้วต้องเลือก insert -> New Module ก่อน) แล้วใส่คำสั่งนี้
Sub DeleteBlank ()
ActiveSheet.UsedRange
End Sub
ซึ่งตรง ActiveSheet อาจจะเปลี่ยนเป็น WorkSheet ก็ได้ ถ้าจะทำทั้ง Worksheet ในคราวเดียว แต่ถ้าใช้ ActiveSheet จะเป็นเฉพาะ Sheet ที่กำลัง Active หน้านั้นเท่านั้น (อ่านรายละเอียดคำสั่งนี้ที่เว็บไมโครซอฟต์นะจ๊ะ)
หวังว่าจะเป็นประโยชน์ในการทำงานบ้างนะ บายยยยยย