ไปยังเนื้อหาหลัก

ลบแถวตามค่าเซลล์ใน Excel - บทช่วยสอนแบบง่าย

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

ตัวอย่างเช่น หากฉันต้องการลบแถวทั้งหมดที่มีคอลัมน์ชื่อมี Jener ฉันจะต้องทำอย่างไร

ลบทั้งแถวตามค่าของเซลล์

ลบแถวในส่วนที่เลือกตามค่าของเซลล์โดยใช้คุณลักษณะการเรียงลำดับ


ลบแถวทั้งหมดตามค่าเซลล์ใน Excel

Excel มีหลายวิธีในการลบแถวตามค่าของเซลล์ที่ระบุ ส่วนนี้ครอบคลุมถึงวิธีการต่างๆ ตั้งแต่คุณลักษณะง่ายๆ ของ Excel เช่น การกรอง ค้นหาและแทนที่ และ Kutools ไปจนถึงเทคนิคขั้นสูงเพิ่มเติมที่เกี่ยวข้องกับ VBA ไม่ว่าคุณจะเป็นมือใหม่หรือผู้ใช้ขั้นสูง คุณจะพบวิธีการที่เหมาะสมกับระดับทักษะและความต้องการของคุณ

📝 หมายเหตุ: วิธีการลบแถวต่อไปนี้จะลบข้อมูลทั้งหมดภายในแถวนั้น รวมถึงเนื้อหาในเซลล์อื่นของแถวด้วย เพื่อป้องกันไม่ให้ข้อมูลสูญหาย ให้ลองทำซ้ำชุดข้อมูลบนเวิร์กชีตอื่นก่อนที่จะลบ

ลบแถวทั้งหมดตามค่าของเซลล์พร้อมคุณสมบัติตัวกรอง

โดยปกติ คุณสามารถใช้คุณลักษณะตัวกรองเพื่อแสดงแถวที่ตรงตามเกณฑ์ที่กำหนด จากนั้นจึงลบแถวพร้อมกัน

ขั้นตอนที่ 1:ใช้คุณสมบัติตัวกรองเพื่อกรองแถวที่ไม่ต้องการ

  1. เลือกช่วงข้อมูลที่คุณต้องการลบแถว จากนั้นคลิก ข้อมูล > ตัวกรองดูภาพหน้าจอ:
  2. ตอนนี้ลูกศรแบบเลื่อนลงจะปรากฏที่ส่วนหัวของแต่ละคอลัมน์ คลิกที่ลูกศรแบบเลื่อนลงในคอลัมน์ที่มีค่าต่างๆ ตามที่คุณต้องการลบแถว เช่น ถ้าจะลบแถวที่ชื่อ Jener ให้คลิกลูกศรในคอลัมน์ Name
  3. ในเมนูแบบเลื่อนลง ให้ยกเลิกการเลือก เลือกทั้งหมด เพื่อล้างการเลือกทั้งหมด และทำเครื่องหมายเฉพาะช่องถัดจาก Jener หรือป้อน Jener ในช่องค้นหาด้วยตนเองเพื่อค้นหาอย่างรวดเร็ว
  4. จากนั้นคลิก OK ปุ่มเพื่อใช้ตัวกรอง เฉพาะแถวที่มี Jener เท่านั้นที่จะแสดง ดูภาพหน้าจอ:

ขั้นตอนที่ 2: ลบแถวที่กรอง

เลือกแถวที่มองเห็นได้ จากนั้นคลิกขวาที่แถวใดแถวหนึ่งที่เลือกแล้วเลือก ลบแถว จากเมนูบริบท นี่จะเป็นการลบแถวที่เลือกทั้งหมด

ขั้นตอนที่ 3: ล้างตัวกรอง

จากนั้นคลิกที่ ข้อมูล > ตัวกรอง อีกครั้ง. การดำเนินการนี้จะลบตัวกรองและคุณจะเห็นบันทึกทั้งหมดยกเว้นรายการที่ถูกลบ

💡 เคล็ดลับ:
  • เช่นเดียวกับที่ฉันใช้วิธีการกรองเพื่อกำจัดแถวที่มีข้อความ Jener คุณยังสามารถใช้เพื่อลบแถวตามเงื่อนไขตัวเลขหรือวันที่ดังภาพหน้าจอต่อไปนี้:
    เงื่อนไขตัวกรองตัวเลข:


    เงื่อนไขตัวกรองวันที่:
  • คุณยังสามารถใช้คุณสมบัติตัวกรองเพื่อกรองและลบแถวทั้งหมดที่มีสีพื้นหลังบางอย่างได้ ดูภาพหน้าจอ:
  • คุณสามารถใช้คุณลักษณะตัวกรองเพื่อกรองตามเกณฑ์ต่างๆ เพื่อกรองเนื้อหาที่คุณไม่ต้องการออกแล้วลบออก ตัวอย่างเช่น สมมติว่าคุณต้องการลบแถวทั้งหมดที่มีพนักงานขายคือ Jener และยอดขายรวมมากกว่า 7000 ดอลลาร์ คุณควรกรองแถวตามชื่อ Jener ก่อน จากนั้นกรองยอดขายที่มากกว่า 7000
 

ลบแถวทั้งหมดตามค่าเซลล์ด้วย Kutools AI Aide

Kutools สำหรับ Excel เป็น Add-in ที่ครอบคลุมซึ่งมีฟีเจอร์ขั้นสูงมากกว่า 300 รายการ ออกแบบมาเพื่อลดความซับซ้อนของงานที่ซับซ้อนประเภทต่างๆ ใน ​​Excel คุณสมบัติประการหนึ่งคือ Kutools AI ผู้ช่วยช่วยให้งานต่างๆ เป็นแบบอัตโนมัติ เช่น การกรองและการลบแถวตามเกณฑ์ที่กำหนด

📝 หมายเหตุ: หากต้องการใช้สิ่งนี้ Kutools AI ผู้ช่วย of Kutools สำหรับ Excelโปรด ดาวน์โหลดและติดตั้ง Kutools สำหรับ Excel ก่อน

หลังจากการติดตั้ง Kutools สำหรับ Excelกรุณาคลิกที่ Kutools AI > เอไอ ผู้ช่วย เพื่อเปิด Kutools AI ผู้ช่วย บานหน้าต่าง:

  1. เลือกช่วงข้อมูล จากนั้นพิมพ์ความต้องการของคุณลงในกล่องแชท แล้วคลิก ส่ง หรือกด เข้าสู่ กุญแจสำคัญในการส่งคำถาม
    “ลบแถวออกหากคอลัมน์ชื่อมีชื่อ Jener ในส่วนที่เลือก”
  2. หลังจากวิเคราะห์แล้วคลิก ดำเนินงาน ปุ่มเพื่อเรียกใช้ Kutools AI Aide จะประมวลผลคำขอของคุณโดยใช้ AI และลบแถวที่ระบุโดยตรงใน Excel
💡 เคล็ดลับ:
  • หากต้องการลบแถวตามเกณฑ์หลายรายการ เพียงปรับข้อกำหนดให้สอดคล้องกัน เช่น ใช้คำสั่งเช่น "ลบแถวที่คอลัมน์ชื่อมี Jener หรือ Kevin อยู่ในส่วนที่เลือก"หรือ"ลบแถวที่คอลัมน์ชื่อมี Jener และยอดขายรวมเกิน 7000 ในส่วนที่เลือก".
  • วิธีนี้ ไม่รองรับการเลิกทำ ฟังก์ชัน- อย่างไรก็ตาม หากคุณต้องการกู้คืนข้อมูลต้นฉบับ คุณสามารถคลิกได้ ไม่พอใจ เพื่อย้อนกลับการเปลี่ยนแปลง
 

ลบแถวทั้งหมดตามค่าของเซลล์ด้วยคุณสมบัติค้นหาและแทนที่

การลบทั้งแถวตามค่าเซลล์ที่ระบุโดยใช้ฟีเจอร์ค้นหาและแทนที่ของ Excel เป็นวิธีที่ตรงไปตรงมาซึ่งมีประสิทธิภาพสูงในการล้างข้อมูลของคุณ กรุณาทำดังนี้:

ขั้นตอนที่ 1: ใช้คุณสมบัติค้นหาและแทนที่เพื่อเลือกค่าเฉพาะ

  1. เลือกข้อมูลคอลัมน์ที่คุณจะลบแถวตามค่าของเซลล์ที่ต้องการ จากนั้นเปิดไฟล์ ค้นหาและแทนที่ ไดโดยกดปุ the ม Ctrl + F คีย์พร้อมกัน
  2. ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร ค้นหาและแทนที่ กล่องโต้ตอบ โปรดพิมพ์ค่าเซลล์ที่ต้องการ (ในกรณีของเรา เราจะป้อนค่า เจนเนอร์) ลงใน สิ่งที่ค้นหา แล้วคลิกไฟล์ ค้นหาทั้งหมด ปุ่ม. ดูภาพหน้าจอ:
  3. เลือกผลการค้นหาทั้งหมดที่ด้านล่างของ ค้นหาและแทนที่ กล่องโต้ตอบ และปิดกล่องโต้ตอบนี้ (คุณสามารถเลือกผลการค้นหารายการใดรายการหนึ่งได้ จากนั้น Ctrl + เพื่อเลือกผลลัพธ์ที่พบทั้งหมด) และเลือกเซลล์ทั้งหมดที่มีค่าที่กำหนด จากนั้น ปิดกล่องโต้ตอบนี้ ดูภาพหน้าจอ:

ขั้นตอนที่ 2: ลบแถวตามค่าที่เลือก

  1. ขณะที่เซลล์ยังคงเลือกอยู่ ให้คลิกขวาที่เซลล์ใดเซลล์หนึ่งที่เลือกแล้วเลือก ลบ จากเมนูบริบท
  2. เลือก ทั้งแถว ในกล่องโต้ตอบลบแล้วคลิก OK เพื่อลบแถวทั้งหมดที่มีค่าที่ระบุ
 

ลบแถวทั้งหมดตามค่าของเซลล์ด้วยรหัส VBA

การลบแถวตามค่าของเซลล์โดยใช้ VBA (Visual Basic for Applications) ใน Excel ช่วยให้งานเป็นอัตโนมัติ ทำให้มีประสิทธิภาพ โดยเฉพาะชุดข้อมูลขนาดใหญ่

ขั้นตอนที่ 1: เปิดตัวแก้ไขโมดูล VBA และคัดลอกโค้ด

  1. ข่าวประชา Alt + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
  2. ในหน้าต่างที่เปิดอยู่ ให้คลิก สิ่งที่ใส่เข้าไป > โมดูล เพื่อสร้างโมดูลเปล่าใหม่
  3. จากนั้นคัดลอกและวางโค้ดด้านล่างลงในโมดูลว่าง
    Sub DeleteRowsBasedOnCellValue()
    'Updateby Extendoffice
        Dim ws As Worksheet
        Set ws = ActiveSheet
        Dim columnRange As Range
        On Error Resume Next
        Set columnRange = Application.InputBox("Select the column range to check:", "Kutools for Excel", Type:=8)
        On Error GoTo 0
        If columnRange Is Nothing Then Exit Sub
        Dim lastRow As Long
        lastRow = ws.Cells(ws.Rows.Count, columnRange.Column).End(xlUp).Row
        Dim criteria As String
        criteria = Application.InputBox("Enter the value to delete rows for:", "Kutools for Excel", Type:=2)
        If criteria = "" Then Exit Sub
        Dim i As Long
        For i = lastRow To 1 Step -1
            If ws.Cells(i, columnRange.Column).Value = criteria Then
                ws.Rows(i).Delete
            End If
        Next i
    End Sub
    

ขั้นตอนที่ 2: ดำเนินการโค้ด

  1. จากนั้นกด F5 กุญแจสำคัญในการรันโค้ด ในกล่องโต้ตอบที่ปรากฏขึ้น โปรดเลือกคอลัมน์ที่คุณจะลบแถวตามค่าที่กำหนดและคลิกที่ OK ปุ่ม
  2. ในกล่องโต้ตอบต่อไปนี้โปรดพิมพ์ค่าที่แน่นอนที่คุณจะลบแถวตามและคลิกที่ OK ปุ่ม. ดูภาพหน้าจอ:

ผลลัพธ์:

จากนั้นคุณจะเห็นว่าแถวทั้งหมดถูกลบตามค่าที่ระบุแล้ว

📝 หมายเหตุ: วิธีโค้ด VBA นี้ ไม่รองรับการเลิกทำดังนั้นตรวจสอบให้แน่ใจว่าการดำเนินการเป็นไปตามที่คาดหวังก่อนใช้งาน นอกจากนี้ ขอแนะนำให้สำรองข้อมูลของคุณไว้เพื่อป้องกันการเปลี่ยนแปลงหรือการสูญหายโดยไม่ได้ตั้งใจ

ลบแถวในส่วนที่เลือกตามค่าของเซลล์โดยใช้คุณลักษณะการเรียงลำดับ

วิธีการข้างต้นทั้งหมดจะลบทั้งแถว ซึ่งอาจถือเป็นข้อจำกัดได้ ตัวอย่างเช่น การใช้วิธีการเหล่านี้จะกำจัดข้อมูลทั้งหมดทางด้านขวาของชุดข้อมูล สมมติว่าคุณต้องการลบเฉพาะบางระเบียนภายในชุดข้อมูลโดยยังคงรักษาข้อมูลส่วนที่เหลือไว้ ในกรณีดังกล่าว จำเป็นต้องมีแนวทางอื่น

ขั้นตอนที่ 1: สร้างคอลัมน์ตัวช่วยสำหรับข้อมูล

สร้างคอลัมน์ใหม่ซึ่งจะช่วยให้เราติดตามคำสั่งซื้อได้ คุณต้องแทรกคอลัมน์ถัดจากข้อมูลของคุณแล้วกรอกหมายเลขซีเรียลเช่น 1, 2, 3... ดูภาพหน้าจอ:

ขั้นตอนที่ 2: จัดเรียงข้อมูลตามคอลัมน์ที่ระบุ

  1. เลือกคอลัมน์ข้อมูลที่คุณต้องการลบแถวโดยยึดตาม จากนั้นคลิก ข้อมูล > เรียงลำดับ A ถึง Z or Z ถึง Aและกล่องโต้ตอบคำเตือนการเรียงลำดับจะปรากฏขึ้น ให้เลือก ขยายส่วนที่เลือกจากนั้นคลิก ประเภท ปุ่ม. ดูภาพหน้าจอ:
  2. ตอนนี้ แถวที่มีค่าเดียวกันจะถูกจัดกลุ่มไว้ด้วยกัน ทำให้ง่ายต่อการระบุและเลือกแถวเหล่านั้น ดูภาพหน้าจอ:

ขั้นตอนที่ 3: ลบแถวที่เรียงลำดับ

  1. เลือกกลุ่มเรกคอร์ดที่คุณต้องการลบ จากนั้นคลิกขวา จากนั้นเลือก ลบ จากเมนูบริบท ใน ลบ ใหเลือก เลื่อนเซลล์ขึ้น ตัวเลือก. จากนั้นคลิก OK ปุ่ม. ดูภาพหน้าจอ:
  2. เฉพาะระเบียนที่ชื่อ Jener เท่านั้นที่จะถูกลบออกโดยไม่ลบทั้งแถว ดังนั้นข้อมูลใดๆ ทางด้านขวาหรือซ้ายของชุดข้อมูลของคุณจะไม่ได้รับผลกระทบ

ขั้นตอนที่ 4: ใช้คุณสมบัติการเรียงลำดับเพื่อคืนค่าลำดับดั้งเดิมของข้อมูล

คลิกส่วนหัวของคอลัมน์วิธีใช้ จากนั้นไปที่ ข้อมูล บนริบบิ้นแล้วเลือก เรียงลำดับ A ถึง Z เพื่อจัดระเบียบข้อมูลตามลำดับในคอลัมน์ตัวช่วย การดำเนินการนี้จะกู้คืนข้อมูลภายในช่วงที่เลือกไปเป็นลำดับเดิมตามต้องการ

ขั้นตอนที่ 5: ลบคอลัมน์ตัวช่วย

สุดท้าย ให้ลบคอลัมน์ตัวช่วยตามความจำเป็นเพื่อล้างข้อมูลในเวิร์กชีตของคุณ


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


บทความที่เกี่ยวข้อง:

  • ลบเซลล์ว่างใน Excel ได้อย่างง่ายดาย - บทช่วยสอนแบบเต็ม
  • การลบเซลล์ว่างใน Excel เป็นงานทั่วไปที่สามารถช่วยปรับปรุงข้อมูลของคุณ ทำให้วิเคราะห์ ทำความเข้าใจ และนำเสนอได้ง่ายขึ้น เซลล์ว่างอาจรบกวนการวิเคราะห์ข้อมูลของคุณ ทำให้เกิดข้อผิดพลาดในสูตร และทำให้ชุดข้อมูลของคุณดูไม่สมบูรณ์หรือไม่เป็นมืออาชีพ ในบทช่วยสอนนี้ เราจะสำรวจวิธีการต่างๆ เพื่อลบหรือจัดการเซลล์ว่างใน Excel อย่างมีประสิทธิภาพ เช่น คุณลักษณะไปที่พิเศษ สูตร ฟังก์ชันตัวกรอง แต่ละวิธีตอบสนองความต้องการและสถานการณ์ที่แตกต่างกัน ดังนั้นคุณจึงสามารถเลือกวิธีที่เหมาะกับความต้องการของคุณได้มากที่สุด
  • ลบแถวตามสีพื้นหลัง
  • คุณจะลบแถวทั้งหมดตามสีพื้นหลังได้อย่างไร ในตัวอย่างนี้ฉันต้องลบแถวทั้งหมดที่เซลล์เต็มไปด้วยสีพื้นหลังสีน้ำเงินดังภาพต่อไปนี้ ด้วยบทความนี้คุณจะได้รับรหัสบางอย่างเพื่อให้บรรลุภารกิจนี้ใน Excel
  • ลบทุกแถว
  • ถ้าคุณต้องการลบแถวหรือคอลัมน์อื่น ๆ ทั้งหมดใน Excel อย่างรวดเร็วประเด็นหลักคือคุณจะเลือกแถวหรือคอลัมน์อื่น ๆ ทั้งหมดได้อย่างไรก่อนจากนั้นจึงใช้การดำเนินการลบกับพวกเขา และบทความนี้จะแสดงสิ่งที่ยุ่งยากเกี่ยวกับวิธีเลือกแถวหรือคอลัมน์อื่น ๆ ก่อนจากนั้นจึงลบออกอย่างรวดเร็ว
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations