Excel - ฟังก์ชั่นอาร์เรย์เพื่อลบช่องว่าง


1

ฉันมีคอลัมน์ของรายการข้อความที่สามารถมีช่องว่าง (เซลล์ว่าง) ในระหว่างรายการ ในชีตอื่นฉันกำลังพยายามใช้สูตรอาร์เรย์ในช่วงที่มีอยู่เพื่อกรองพื้นที่ว่างเหล่านั้นออก

นี่คือสูตร:

{=IFERROR(INDEX(Input_Page!$C$2:$C$61,SMALL(IF(ISTEXT(Input_Page!$C$2:$C$61),ROW(Input_Page!$C$2:$C$61),""),ROW(Input_Page!C2))),"")}

ซึ่งได้รับแรงบันดาลใจจาก นี้ เว็บไซต์.

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

ภูมิภาคอินพุต
ภูมิภาคเอาท์พุท

ความช่วยเหลือหรือคำแนะนำใด ๆ ที่จะได้รับการชื่นชมอย่างดี!

คำตอบ:


1

ก่อนหน้านี้มีการถามคำถามนี้และให้คำตอบอย่างละเอียด ที่นี่ .

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

=INDEX($B$1:$B$21, SMALL(IF(ISBLANK($B$1:$B$21), "", ROW($B$1:$B$21)-MIN(ROW($B$1:$B$21))+1), ROW(A1)))

ผลลัพธ์ที่ได้จะแสดงในคอลัมน์ C ในตารางด้านล่าง หากคุณต้องการหลีกเลี่ยง #NUM! ข้อผิดพลาดให้ตัดสูตรด้านบนใน IFERROR () ซึ่งจะให้ผลลัพธ์ในคอลัมน์ D:

=IFERROR(INDEX($B$1:$B$21, SMALL(IF(ISBLANK($B$1:$B$21), "", ROW($B$1:$B$21)-MIN(ROW($B$1:$B$21))+1), ROW(A1))),"")

enter image description here


สิ่งที่ฉันกำลังมองหาขอขอบคุณสำหรับข้อมูลเช่นกัน!
Benji Fuse

ดีดีใจที่ได้ช่วยเหลือ
Bandersnatch

0

คุณสามารถลองห่อทุกอย่างในฟังก์ชัน IF

=IF( original formula = "", "", original formula )

ดังนั้นถ้ามันว่างเปล่าแทนที่จะใส่ 0 มันจะกลับมาว่างเปล่า

{=IF(IFERROR(INDEX(Input_Page!$C$2:$C$61,SMALL(IF(ISTEXT(Input_Page!$C$2:$C$61),ROW(Input_Page!$C$2:$C$61),""),ROW(Input_Page!C2))),"")="","",IFERROR(INDEX(Input_Page!$C$2:$C$61,SMALL(IF(ISTEXT(Input_Page!$C$2:$C$61),ROW(Input_Page!$C$2:$C$61),""),ROW(Input_Page!C2))),"")}

หรือ

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

การใช้ ##;##;""

enter image description here


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