หากเซลล์มีค่า XXX ฉันจะลบแถวที่ไม่มีค่า XXX ได้อย่างไร


0

ในตัวอย่างที่โพสต์ถ้าสำหรับ Jane และ David ฉันสนใจเฉพาะแถวที่มี "ผลรวม" ในคอลัมน์ B ฉันจะลบแถวที่ไม่มี "รวม" ในคอลัมน์ B ได้อย่างไรฉันต้องการใช้ฟังก์ชันนี้กับ หลายแผ่นภายในเวิร์กบุ๊ก

ตัวอย่าง


1
วิธีที่ง่ายที่สุดคือ "กรอง" ผลลัพธ์ของคุณเน้นเซลล์ A1, B1 และ C1 จากนั้นใช้ตัวเลือก "ตัวกรอง" ในพื้นที่ "เรียงลำดับและกรอง" ของบานหน้าต่าง "ข้อมูล" หากคุณต้องการทราบจำนวนรายการที่เลือกคุณต้องการสูตร COUNTIF () นี่คือความคิดเห็นเนื่องจากคำถามของคุณไม่ชัดเจน
Kevin Anthony Oppegaard Rose

ดูเหมือนว่าเขาต้องการให้เราสคริปต์ VBA Function ของเขา
dmb

ชื่อของคุณพูดถึงการลบคอลัมน์แต่คำถามของคุณพูดถึงการลบแถว มันคืออะไร ???
นักเรียนของ Gary

โดยทั่วไปผลรวมจะเป็นแบบไดนามิกไม่ใช่ข้อมูล หากเป็นกรณีนี้คุณจะต้องใช้การกรองมากกว่าการลบแถวมิฉะนั้นผลรวมจะเป็นศูนย์
fixer1234

คำตอบ:


0

วิธีที่ง่ายที่สุดของคุณคือการเรียงลำดับตามค่าที่คุณต้องการและลบแถวทั้งหมดก่อนค่านั้นจากนั้นแถวทั้งหมดที่อยู่หลังแถวนั้นจะเหลือเฉพาะแถวที่มีค่าเท่านั้น

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

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

หรือรวมสอง เรียงลำดับข้อมูลในคอลัมน์นั้นในแมโครค้นหาการเกิดขึ้นครั้งแรกของค่าที่ต้องการลบแถวข้อมูลทั้งหมดข้างบนค่านั้นจากนั้นทดสอบจนกระทั่งความล้มเหลวแรกและลบแถวทั้งหมดในภายหลัง

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


0

ขอบคุณทุกท่านสำหรับความช่วยเหลือของคุณ ฉันลงเอยด้วยการทำสิ่งต่อไปนี้:

  1. ใช้การจัดรูปแบบตามเงื่อนไขเพื่อเน้นเซลล์ทั้งหมดที่มีชื่อซ้ำกัน
  2. จัดเรียงเซลล์ตามสีแล้วเรียงตามชื่อของแอปเปิล
  3. กด Shift เลือกแถวทั้งหมดที่มีเซลล์ที่เน้นสีซึ่งไม่มี "ผลรวม" ในคอลัมน์แอปเปิ้ล

กระบวนการนี้ค่อนข้างรวดเร็วสำหรับชุดข้อมูลขนาดใหญ่


ยินดีที่ได้พบคำตอบด้วยตนเองมันเป็นสิทธิพิเศษของคุณที่จะเลือกวิธีการ แต่เมื่อคุณลองใช้ MACRO ที่ฉันโพสต์ไว้แล้วก็คือ TIME SAVER และ One Click Solution ☺
Rajesh S

คุณพูดถูกและฉันจะลองใช้มาโครด้วย! ฉันเป็นคนขี้อายกับมาโคร แต่ฉันก็พยายามอย่างเต็มที่ที่จะเรียนรู้ :)
user975479

0

ฉันอยากจะแนะนำMACROซึ่งเป็นวิธีที่ดีที่สุดและเร็วที่สุดในการลบแถวทั้งหมดออกจากชีตทั้งหมดไม่มีข้อความTOTALในคอลัมน์ B ที่ระบุ

Sub Delete_Rows()

Dim rng As Range, cell As Range, del As Range
Dim sht As Worksheet

For X = 1 To 10
    Set sht = Sheets(X)
    Set del = Nothing

    Set rng = Intersect(sht.Range("B1:B9"), sht.UsedRange)

    For Each cell In rng.Cells

    If (cell.Value) <> "Total" Then
        If del Is Nothing Then
            Set del = cell
        Else
            Set del = Union(del, cell)
        End If
    End If

    Next cell

    If Not del Is Nothing Then del.EntireRow.Delete
Next X

End Sub

มันทำงานอย่างไร:

  • ชีทใด ๆ กดAlt+F11เพื่อเปิดVB Editorแล้วCopy & Pasteประมวลกฎหมายนี้เป็นมาตรฐานโมดูล
  • ก่อนที่คุณจะRUN Macroประกันว่าการค้นหาสตริงทั้งหมดที่มีอยู่ในช่วงB1:B9ในทุกแผ่นจากที่คุณกำลังพยายามที่จะลบแถว

บันทึก:

  • For X = 1 to 10ชี้ให้เห็นว่า MACRO จะค้นหาTOTALใน10 Worksheetsซึ่งเป็นที่สามารถแก้ไขได้

  • นอกจากนี้คุณยังสามารถปรับเปลี่ยนช่วงการค้นหาB1:B9และสตริงTotalตามที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.