Excel, ลบแถวว่างโดยไม่มีการเลื่อนข้อมูล


9

ฉันต้องการลบแถวที่ว่างเปล่าโดยไม่ต้องเปลี่ยนข้อมูล

F5พิเศษช่องว่างไม่ทำงานเหมือนเซลล์ที่ลบช่องว่างทั้งหมด การทำฟิลเตอร์สำหรับช่องว่างก็ไม่ทำงานเช่นกัน

มีวิธีแก้ไขปัญหาอื่นอีกหรือไม่

สีน้ำเงินเป็นปัจจุบันคาดว่าจะเป็นสีแดง:

ป้อนคำอธิบายรูปภาพที่นี่


1
คุณหมายถึงอะไร“ ไม่เปลี่ยนข้อมูล”? ตัวอย่างของคุณแสดง“ โอเวอร์” ถูกเปลี่ยนจากแถว 12 เป็นแถว 2“ ไหล” ถูกเปลี่ยนจากแถว 13 เป็นแถว 3“ ซูเปอร์” ถูกเปลี่ยนจากแถว 22 เป็นแถว 4 เป็นต้น - ไม่ต้องพูดถึงข้อมูลทั้งหมดที่ถูกเลื่อน จากคอลัมน์ AC ถึงคอลัมน์ HJ
G-Man กล่าวว่า 'Reinstate Monica'

คำตอบ:


7

คุณสามารถทำให้ง่ายขึ้นด้วยคอลัมน์ผู้ช่วย

ใช้เช่นสูตรนี้เพื่อทำเครื่องหมายแถวด้วยเนื้อหา:
=IF(COUNTA(A2:C2)>0,1,"")

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้คุณสามารถเลือกคอลัมน์ผู้ช่วยของคุณ F5 - พิเศษ - ตรวจสอบ "สูตร" และยกเลิกการทำเครื่องหมาย "หมายเลข" ซึ่งจะเป็นการเลือกแถวว่างทั้งหมด
เพียงคลิกขวาที่หนึ่งในนั้นและลบ - ทั้งแถว


1
ใช่นี่คือสิ่งที่ฉันกำลังมองหาอย่างแน่นอนขอบคุณ!
Jonnyboi

@Jonnyboi ไม่จำเป็นต้องทำงานระดับนี้ - มีวิธีแก้ปัญหาที่ง่ายกว่านี้สร้างขึ้นโดย Microsoft ดูคำตอบของฉัน
เกรด 'Eh' เบคอน

4
  1. เน้นแถวที่คุณต้องการลบ

ป้อนคำอธิบายรูปภาพที่นี่

  1. คลิกขวาแถวแล้วเลือก Delete

ป้อนคำอธิบายรูปภาพที่นี่

การดำเนินการนี้ควรลบแถวใด ๆ ที่คุณต้องการลบและย้ายเซลล์ขึ้นตามลำดับ


** พิเศษ **

คุณสามารถซ่อนแถวเหล่านี้ได้หากทำให้การจัดการง่ายขึ้นโดยไม่ต้องเปลี่ยนแถว # ของเซลล์อื่น

  1. เน้นแถวที่คุณต้องการซ่อนโดยคลิกหมายเลขแถว

  2. คลิกขวาแถวไฮไลต์และเลือก Hide

ป้อนคำอธิบายรูปภาพที่นี่

Alakazam! พวกเขาควรจะออกไปให้พ้นทางของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

โปรดทราบว่านี่จะไม่ลบแถวทั้งหมด คุณสามารถทำได้Unhideโดยคลิกขวาที่เศษเล็ก ๆ ของแถวที่ก่อนหน้า

แจ้งให้เราทราบหากนั่นช่วยได้!


ขอบคุณ Cheesus สิ่งนี้จะใช้ได้ แต่ฉันจะทำสิ่งนี้กับหลาย ๆ แถวได้อย่างไร อาจใช้เวลาสักครู่ในการทำทีละแถว
Jonnyboi

หากคุณคลิกแถวแรกให้Shiftกดและคลิกแถวสุดท้าย มันจะเน้นแถวทั้งหมดในระหว่าง หากข้อมูลถูกคั่นด้วยคุณสามารถกดค้างไว้Ctrlแล้วคลิกเพื่อเลือกหลายแถวทีละแถว
Cheesus Crust

2
บางทีนี่อาจเป็นอะไรสำหรับ VBA ฉันมี 2,000 แถว! อาจใช้เวลาสักครู่
Jonnyboi

2
ส่งออกไปยังรายการ CSV แล้วคุณสามารถกรองลำดับที่ไม่มีอะไรนอกจากคอมม่าโดยทางโปรแกรมโดยใช้ภาษาสคริปต์ของตัวเลือก
George Erhard

2
@GeorgeErhard นั่นเป็นทางออกที่ดี แต่มันจะไม่ทำงานหากมีการจัดรูปแบบใด ๆ บนโต๊ะมันจะสูญเสียการจัดรูปแบบ
Tyzoid

4

วิธีที่ฉันทำสิ่งนี้ตลอดไปคือการเพิ่มคอลัมน์การเรียงลำดับการลบลบแถวทั้งหมดที่ฉันไม่ต้องการ (เป็นบล็อกเดียว) จากนั้นเรียงลำดับอีกครั้งกลับไปที่การจัดเรียงดั้งเดิม

เพิ่มคอลัมน์ A และ B โดยที่ A กำลังเพิ่มขึ้นและ B เป็นการเชื่อมโยงของ C, D และ E

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

สูตรจะต้องเปลี่ยนเป็นค่าที่ไม่มีการเปลี่ยนแปลงดังนั้นให้ใช้ copy, paste values: ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นจัดเรียงตามคอลัมน์ B ซึ่งนำช่องว่างทั้งหมดมารวมกัน: ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

เมื่อคุณลบช่องว่างออกแล้วมันเป็นลำดับที่ไม่ถูกต้อง แต่คุณเพิ่งเรียงลำดับอีกครั้งคราวนี้ตามคอลัมน์ A: ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


3

มีวิธีแก้ปัญหาสำหรับคำถามของคุณใน Excel

เลือกคอลัมน์ A, B และ C ไปที่ริบบิ้น 'ข้อมูล' ในส่วน 'เครื่องมือข้อมูล' มีตัวเลือกให้ "ลบรายการที่ซ้ำกัน" คลิก 'ตกลง'

สิ่งนี้สามารถทำได้ด้วยทางลัด:

Alt จากนั้น A จากนั้น M แล้วกด Tab แล้วกด Tab แล้ว Enter


ใช้งานได้ในกรณีที่ไม่มีข้อมูลซ้ำโดยเฉพาะในคอลัมน์ C
yass

1

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

นี่เป็นกระบวนการแบบแมนนวลและอาจไม่ตอบคำถามของคุณเนื่องจากดูเหมือนว่าคุณกำลังมองหาวิธีการ one-shot เพื่อรวมช่วงที่เลือกไว้

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