นี่อาจจะเกินความจริงไปหน่อย แต่ก็ใช้ได้ดี หวังว่าคุณคงไม่รังเกียจที่จะมีคอลัมน์ 'ไม่อยู่ที่นี่' ซึ่งมีช่องว่างก่อนที่จะถึงผลลัพธ์สุดท้าย (ไม่ใช่ที่นี่ 2)
เบื้องหลัง:
ช่วงที่ใช้ชื่อ:
- บัญชีรายชื่อ: (B3: B19)
- ปัจจุบัน: (C3: C19)
- ไม่ที่นี่: (F3: F19)
สูตรอาร์เรย์ใส่ช่วง (D3: D19) ...
{=IF(ISERROR(MATCH(Roster,Present,0)),Roster,"")}
สูตร Array ที่ป้อนเข้าสู่เซลล์ (E3: E19) ...
{=IFERROR(INDEX(NotHere,SMALL(IF(FREQUENCY(IF(NotHere<>"",MATCH(ROW(NotHere),ROW(NotHere)),""),MATCH(ROW(NotHere),ROW(NotHere)))>0,MATCH(ROW(NotHere),ROW(NotHere)),""),ROW(A1)),COLUMN(A1)),"")}
{=IFERROR(INDEX(NotHere,SMALL(IF(FREQUENCY(IF(NotHere<>"",MATCH(ROW(NotHere),ROW(NotHere)),""),MATCH(ROW(NotHere),ROW(NotHere)))>0,MATCH(ROW(NotHere),ROW(NotHere)),""),ROW(A2)),COLUMN(A2)),"")}
ฯลฯ ...
แม้ว่านี่จะเป็นวิธีแก้ปัญหาที่ยืดยาว แต่มันจะทำงานไม่ว่าจะวางตารางไว้ในแผ่นงาน นอกจากนี้ยังลบ#num
ข้อผิดพลาดใน Excel 2007 หากคุณใช้เวอร์ชันนั้น