ดรอปดาวน์การตรวจสอบความถูกต้องของข้อมูลจะไม่ร่วมมือกับคุณในเรื่องนี้ มันแค่ต้องการดูรายการแบบคงที่หรือที่เซลล์ที่คุณบอกเท่านั้นโดยไม่ต้องคิดเกี่ยวกับสิ่งที่อยู่ในพวกเขา
เนื่องจากเราไม่สามารถทำสิ่งที่เราต้องการเรามาประนีประนอมกัน - เราจะให้ช่วงต่อเนื่องที่แสดงเฉพาะค่าที่เราต้องการเห็น (บวกช่องว่างท้ายที่สุดที่คนส่วนใหญ่จะไม่มอง)
ในตัวอย่างของฉันเซลล์ที่มีค่า (และว่าง) สำหรับรายการตรวจสอบความถูกต้องของข้อมูลของฉันคือ A1: A15 ฉันจะไปที่คอลัมน์อื่นแล้วพิมพ์สูตรต่อไปนี้:
=IFERROR(INDEX($A$1:$A$15,SMALL(IF($A$1:$A$15<>"",ROW($A$1:$A$15),999),ROW(1:1))),"")
ฉันต้องป้อนนี่เป็นสูตรอาร์เรย์ดังนั้นฉันจะกด CTRL + SHIFT + ENTER เมื่อฉันพิมพ์สูตรเสร็จแล้ว ต่อไปฉันจะคัดลอก / วางหรือเติม 15 แถว ผลลัพธ์จะเป็นค่าที่ไม่ว่างเปล่าทั้งหมดของฉันจาก A1: A15 จากนั้นช่องว่างทั้งหมดของฉันจะสิ้นสุด
ตอนนี้ฉันจะเปิดกล่องโต้ตอบการตรวจสอบความถูกต้องของข้อมูลและชี้รายการของฉันไปที่เซลล์ที่มีสูตรของฉัน (ไม่ใช่ A1: A15) ช่องว่างยังคงอยู่ที่นั่น แต่ในตอนท้ายดังนั้นไม่มีใครต้องการเห็นพวกเขาจนกว่าพวกเขาจะเลื่อนลงไปที่นั่นเพื่อดูอะไร
มันไม่ได้ทำความสะอาดทั้งหมด แต่เป็นแบบไดนามิกและหลีกเลี่ยงมาโคร
ดังนั้นสูตรนั้นทำอะไร
=INDEX($A$1:$A$15,
ดูช่วงต้นฉบับที่มีค่าและช่องว่างของคุณและให้คุณบอกได้ว่าเซลล์ใดที่คุณต้องการดูตามตัวเลข
SMALL(
ดูที่ชุดของตัวเลขนับจากขนาดเล็กที่สุดและคืนหนึ่ง
IF($A$1:$A$15<>"",
ตรวจสอบว่าแต่ละเซลล์ในช่วงของคุณตรงกับอะไรก็ได้ยกเว้นสตริงว่าง
ROW($A$1:$A$15)
ส่งคืนหมายเลขแถวหากเป็นเช่นนั้น
,999),
และส่งคืน 999 หากไม่เป็นเช่นนั้น หากคุณมีมากกว่า 1,000 แถวคุณต้องมีจำนวนมากขึ้นที่นี่ แต่หวังว่าจะเพียงพอสำหรับตัวเลือกการตรวจสอบความถูกต้องของข้อมูลของคุณ ตอนนี้ฟังก์ชั่น SMALL มีรายการหมายเลขแถวโดยมี 999 แทนที่หมายเลขแถวจริงสำหรับช่องว่างใด ๆ
ROW(1:1)
เป็นวิธีแบบไดนามิกในการเริ่มนับจากเซลล์ใดก็ตามที่คุณป้อนสูตรนี้เมื่อคุณคัดลอกสูตรลงจำนวนที่เพิ่มขึ้น นี่เป็นการบอกตัวเล็กว่าคุณต้องการตัวเลขที่เล็กที่สุดอันดับที่ 1 ในแถวที่ 1 ที่มีสูตรตัวที่สองที่เล็กที่สุดในแถวที่ 2 เป็นต้น
SMALL
มือหมายเลขแถวกลับไปINDEX
ซึ่งจะช่วยให้คุณมีค่าสำหรับแถวนั้น 999 เหล่านั้นทั้งหมดกลายเป็นข้อผิดพลาด #REF ในตอนท้าย แต่เรากลับไปที่ช่องว่างด้วยความIFERROR
เงียบ
สูตรนั้นอาจเป็นเรื่องยากที่จะเข้าใจ หากคุณมีปัญหาลองตั้งค่าข้อมูลตัวอย่างใน A1: A15 บนแผ่นงานใหม่เลือกเซลล์ในคอลัมน์อื่นและคัดลอกสูตรของฉันลงในแถบสูตรอย่างแน่นอน (อย่าลืม CTRL + SHIFT + ENTER) เล่นกับมันสักหน่อยและคุณควรจะได้รับมัน
โชคดี!