ขณะทำงานกับสเปรดชีตขนาดใหญ่ คุณมักแทรกแถวว่างโดยเจตนาเพื่ออ่านและเข้าใจได้ง่ายขึ้น แม้การแทรกแถวว่างจะเป็นที่นิยมของคนส่วนใหญ่ แต่บางคนทำงานกับแถวว่างแล้วรู้สึกรำคาญ บางครั้งแถวว่างอาจเกิดจากข้อผิดพลาดของซอฟต์แวร์ Excel หรือขณะถ่ายโอนไฟล์ ส่งออกข้อมูลจากฐานข้อมูลองค์กร เป็นต้น ในบทความนี้ จะแนะนำแนวทางเกี่ยวกับวิธีลบแถวว่างใน Excel
การลบแถวว่างด้วยตนเอง (Manually)
วิธีที่ง่ายที่สุดในการลบ/กำจัดแถวว่างคือการเลือกแถวว่างด้วยตนเอง อาจใช้เวลานานในสเปรดชีตขนาดใหญ่ เนื่องจากต้องจับเป้าหมายด้วยตนเอง ในกระบวนการนี้ ให้เลือกแถวว่างโดยวางเคอร์เซอร์เมาส์ด้านซ้ายสุดของแถวและคลิกปุ่มขวาของเมาส์ ด้วยวิธีนี้ คุณเลือกแถวว่างทั้งแถว ทำซ้ำกระบวนการนี้สำหรับแถวว่างอื่นๆ จะเลือกแถวว่างทั้งหมดได้ ในที่สุด ในแท็บ Home ภายใต้ตัวเลือก Delete กด Delete Sheet Rows การคลิกจะลบแถวว่างทั้งหมดในสเปรดชีตของคุณ ภาพต่อไปนี้แสดงกระบวนการ



กระบวนการนี้ยังใช้ได้กับแถวที่ไม่ว่างเช่นกัน ดังนั้น กระบวนการนี้สามารถใช้ได้ในหลายสถานการณ์
ลบแถวว่างโดยการค้นหาเซลล์ว่าง
หากคุณมีสเปรดชีตที่มีแถวว่างไม่มากนัก การลบด้วยตนจะใช้เวลามากเกินไป มาเลือกวิธีที่เร็วกว่านี้
- 1st เลือกพื้นที่ที่คุณต้องการดำเนินการ
- ในแท็บ Home ภายใต้ตัวเลือก Find & Select คลิกที่ Go to Special


- ในกล่อง GO TO Special คลิกที่ Blanks และกด OK
- สิ่งนี้จะเลือกเซลล์ว่างทั้งหมดพร้อมกัน


- ตอนนี้ ลบเซลล์เหล่านี้เหมือนวิธีที่ทำในตัวอย่างก่อนหน้า

หมายเหตุ: เห็นได้ชัดว่า ในขั้นตอนนี้ แถวทั้งหมดที่มีเซลล์ว่างถูกลบ นี่ไม่ใช่สิ่งที่เราต้องการ สิ่งอื่นที่ควรระวังคือ หากมีค่าที่หายไปในคอลัมน์ใดคอลัมน์หนึ่ง จะถูกลบเช่นกัน ทำให้ข้อมูลเคลื่อนที่และอาจทำให้เกิดความไม่สอดคล้อง
อ่านเพิ่มเติม: How to Highlight Row If Cell Is Not Blank (4 Methods)
ลบแถวว่างโดยใช้ฟังก์ชัน Find ของ Excel
ในตัวอย่างนี้ เราปรับตารางของเราเล็กน้อย เพื่อให้คุณได้ผลลัพธ์ที่เหมาะสม เนื่องจากตัวอย่างก่อนหน้ามีเซลล์ว่างมากเกินไป บางแถวที่ไม่ได้เป็นแถวว่างจริงๆ ถูกลบไป ในตัวอย่างนี้จะไม่เกิดเรื่องนั้นขึ้น
ที่นี่ เราจะใช้คุณสมบัติ Find ของ Excel กระบวนการทีละขั้นตอนมีดังนี้
- 1st เลือกชุดข้อมูลของคุณ และในแท็บ Home ภายใต้ Find & Select คลิกที่ Find
- ในกล่อง Find and Replace ให้เว้น Find what ว่าง และเลือก values ใน Look in


- หลังจากกด Find all ส่วนขยายของกล่องนั้นจะปรากฏด้านล่าง กด CTRL+A เพื่อเลือกทั้งหมด แล้วปิดกล่อง

- คุณจะเห็นกล่องว่างในโซนที่เลือก ลบพวกเขาในลักษณะเดียวกับที่เราทำในตัวอย่างก่อนหน้า


ใช้ฟังก์ชัน Filter เพื่อลบแถวว่าง
สำหรับวิธีนี้ เราต้องใส่ข้อมูลทั้งหมดในตาราง ทำตามขั้นตอนด้านล่างเพื่อทำวิธีนี้
- 1st เลือกช่วงที่คุณจะลบแถวว่าง
- ในแท็บ Home ภายใต้ตัวเลือก Sort & Filter คลิกที่ Filter

- หลังจากนี้ เลือกคอลัมน์ และคลิกตัวกรองแบบเลื่อนลง ยกเลิกการติ๊กค่าทั้งหมดยกเว้น Blanks แล้วกด OK

- สิ่งนี้จะเลือกเซลล์ว่างทั้งหมดในช่วง

- ในแท็บ Home ภายใต้ Delete กด Delete Sheet Rows
- สุดท้าย ลบตัวกรองออก และคุณจะเห็นแถวว่างถูกกำจัด

หมายเหตุ: อย่าลืมสร้างตารางก่อนทำกระบวนการนี้ มิฉะนั้น คุณจะไม่พบทุกชื่อในคอลัมน์ เนื่องจากมีช่องว่างระหว่างแถวของคอลัมน์ ด้วยการสร้างตารางสำหรับเซลล์ คุณกำหนดช่วงสำหรับดำเนินการ
เนื้อหาที่เกี่ยวข้อง: How to Select Row in Excel If Cell Contains Specific Data (4 Ways)
ใช้คำสั่ง If ใน Excel เพื่อลบแถวว่าง
สำหรับวิธีนี้ เราจะสร้างคอลัมน์เพิ่มเติมชื่อ Test คล้ายกับตัวอย่างก่อนหน้า ความแตกต่างคือ คุณสามารถมองเห็นแถวว่างของสเปรดชีตได้ง่ายขึ้น ขั้นตอนระบุไว้ด้านล่าง
- ที่คอลัมน์ Title ในเซลล์ D2 พิมพ์สูตรนี้ =IF(AND(ISBLANK(A2), ISBLANK(B2), ISBLANK(C2)),"Blanks", "No-Blanks")
- หลังจากกด Enter คุณจะเห็นผลลัพธ์เป็น Blanks หรือ No-Blanks การลากเซลล์ที่มีสูตรนี้ลงไปจะคัดลอกสูตรนี้ไปยังทุกเซลล์

- เช่นเดียวกับตัวอย่างก่อนหน้า ใช้ตัวเลือก filter สำหรับคอลัมน์ Test และยกเลิกการติ๊กกล่อง No-Blank

- จะแสดงเฉพาะเซลล์ว่าง ลบเซลล์ว่างเหล่านี้เหมือนเดิม แล้วลบตัวเลือก filter คุณจะเห็นแถวว่างทั้งหมดของตารางหายไป

ลบแถวว่างโดยใช้ Excel VBA
หากคุณต้องการกำจัดแถวว่างโดยใช้แมโคร/VBA คุณสามารถใช้โค้ดต่อไปนี้ โค้ดนี้ได้มาจากลิงก์ https://www.mrexcel.com/forum/excel-questions/1015878-macro-fro-removing-blank-cells-range.html
| Source code | |
Sub DeleteBlankRows() Dim Rw As Range If WorksheetFunction.CountA(Selection) = 0 Then MsgBox "No blank rows found", vbOKOnly Exit Sub End If With Application .Calculation = xlCalculationManual .ScreenUpdating = False Selection.SpecialCells(xlCellTypeBlanks).Select For Each Rw In Selection.Rows If WorksheetFunction.CountA(Selection.EntireRow) = 0 Then Selection.EntireRow.Delete End If Next Rw .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With MsgBox "Blank Rows Removed" End Sub
คลิกที่ Visual Basic ภายใต้แท็บ Developer ใน Excel ใส่โค้ดในกล่องว่างที่ปรากฏและรัน คุณจะเห็นกล่องข้อความ "Blank Rows Removed" ปรากฏ สุดท้าย กด OK เพื่อดำเนินการต่อ


หมายเหตุ: คุณต้องจำไว้ว่าโค้ดนี้ไม่ทำงานบนตาราง ดังนั้น หากคุณต้องการลบแถวว่างในตาราง คุณไม่สามารถทำได้ด้วยโค้ดนี้ สำหรับการรันโค้ดนี้ คุณอาจต้องเปิดใช้งานแมโครของ Excel
สรุป
เห็นได้ว่ามีหลายวิธีในการลบแถวว่างใน Excel ตั้งแต่ง่ายจนถึงซับซ้อน เลือกวิธีที่เหมาะกับคุณที่สุด คุณต้องระมัดระวังมากขณะลบแถวว่าง เนื่องจากอาจลบเซลล์อื่นๆ ของสเปรดชีตของคุณได้เช่นกัน
โปรดแชร์เทคนิคอื่นๆ ที่คุณรู้ว่าจะเป็นประโยชน์
บทความที่เกี่ยวข้อง
- Data Clean-up Techniques in Excel: Randomizing the Rows
- Excel Alternating Row Color with Conditional Formatting [Video]
- How to Highlight Every Other Row in Excel
- Highlight Active Row in Excel (3 Methods)