รายการเซลล์ที่ไม่ว่างใน Excel ขึ้นอยู่กับคอลัมน์ที่อยู่ติดกัน


2

ให้คอลัมน์ A และ B ฉันต้องการแสดงรายการ A-values ​​ที่มี B-cell ที่ไม่ว่างในแถวในคอลัมน์ C:

A     B     C
One         Two
Two   x     Four
Three
Four  x
...

สิ่งที่ดีที่สุดที่ฉันเคยได้รับคือ

{=INDEX(A1:A4;MATCH(TRUE;B1:B4<>"";0))}

ซึ่งให้ "สอง" ใน C1 แต่ฉันจะดำเนินการต่อได้อย่างไร

หมายเหตุ:ปัญหาของฉันในเวอร์ชันที่ง่ายขึ้น: ในความเป็นจริงมีหลายคอลัมน์เช่น B ดังนั้นการกรองจึงไม่ใช่ตัวเลือก ยิ่งไปกว่านั้น B และ C ไม่ได้อยู่ในชีตเดียวกันและฉันต้องการให้ C-ชีตอัปเดตโดยอัตโนมัติเมื่อใดก็ตามที่ฉันแก้ไข B-ชีตดังนั้นการคัดลอกและวางก็ใช้ไม่ได้


หน้านี้ที่ get-digital-helpดูเหมือนว่ามันอาจช่วยคุณได้เมื่อคุณเริ่มขยายข้ามชีต
Raystafarian

คำตอบ:


1

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

สิ่งนี้จะใช้ได้ผลกับตัวอย่างของคุณและสามารถปรับเปลี่ยนได้อย่างง่ายดายหากคุณมีส่วนหัวคอลัมน์เพิ่มเติมหรือแถวอื่น ๆ

=IFERROR(INDEX($A$1:$A$4,SMALL(IF(ISBLANK($B$1:$B$4),"",ROW($B$1:$B$4)-ROW($C$1)+1),ROW(C1)-ROW($C$1)+1)),"")

ใส่สูตรใน C1 และถือCtrl+ จากนั้นกดปุ่มShift Enterขยายสูตรเป็น C4 เพื่อรับผลลัพธ์แบบเต็มสำหรับตัวอย่างของคุณ

ตอนนี้อาจแทรกส่วนหัวหรือคอลัมน์ในตัวอย่างได้และจะยังคงใช้งานได้ หากต้องการจัดการแถวเพิ่มเติมให้เปลี่ยนช่วง$A$1:$A$4และ$B$1:$B$4ตามลำดับ

ดูเพิ่มเติมบทความสนับสนุนของ Microsoft หาราคาที่ n ที่ตรงกับเงื่อนไข


ผมได้รับนี้จะทำงานโดยการเปลี่ยน$A$4และ$B$4ไป$6หรือ$5และลบส่วนหัวของคอลัมน์
Raystafarian

ขอบคุณ ฉันอัปเดตสูตรเพื่อทำงานกับส่วนหัวคอลัมน์
Calvin

2

ทำไมไม่กรองรายการในสถานที่? กรองรายการตามคอลัมน์ B สำหรับแถวทั้งหมดที่ B ไม่ว่างเช่น

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

จากนั้นหากคุณต้องการในคอลัมน์ C เพียงคัดลอกและวาง โปรดจำไว้ว่าเมื่อคุณกรองบางเซลล์จะถูกซ่อนดังนั้นการคัดลอก / วางอาจดูไม่ถูกต้องจนกว่าคุณจะล้างตัวกรอง


ที่จริงแล้วฉันระบุปัญหาที่เรียบง่ายของฉัน: ในความเป็นจริงมีหลายคอลัมน์เช่น B ดังนั้นการกรองจึงไม่ใช่ตัวเลือก ยิ่งไปกว่านั้น B และ C ไม่ได้อยู่ในชีตเดียวกันและฉันต้องการให้ C-ชีตอัปเดตโดยอัตโนมัติเมื่อใดก็ตามที่ฉันแก้ไข B-ชีตดังนั้นการคัดลอกและวางก็ใช้ไม่ได้
warakawa

@warakawa คำแนะนำนี้ไม่ใช่ตัวเลือกสำหรับคุณ แต่ฉันจะทิ้งไว้ในกรณีที่มีคนอื่นเกิดขึ้นกับมัน
Raystafarian

0

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

มันเป็นสูตรอาร์เรย์ดังนั้น CSE ( Ctrl Shft Enter) และลากลง

=INDEX($A$2:$A$6,SMALL(IF($B$2:$B$6<>"",MATCH(ROW($B$2:$B$6),ROW($B$2:$B$6)),""),ROW(A1)))

ฉันรู้ว่านี่ไม่ใช่วิธีที่ดีที่สุดในการทำเช่นนี้ แต่จนกว่าBarry , Jerry , Excellllหรือใครบางคนเข้ามาก็เป็นสิ่งที่ดีที่สุดที่ฉันมี

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