เปรียบเทียบสองรายการและแสดงรายการที่ขาดหายไปใน Google Spreadsheet


9

ฉันกำลังพยายามหาวิธีแก้ไขเปรียบเทียบสองรายการแยกกัน (ได้รับเชิญ - เข้าร่วม) และสร้างรายการที่ 3 (ขาดหายไป)

ฟังก์ชั่นจะต้องดูที่คีย์ใน "รายการที่เข้าร่วม (D, E, F)" และเปรียบเทียบกับคีย์ใน "รายการที่ได้รับเชิญ (A, B, C)" แล้วแสดงค่าที่หายไปใน "รายการขาดงาน (G, H ,ผม)".

เกี่ยวกับข้อมูล

  • คีย์คือ 'ค่าที่ไม่ซ้ำ' ที่กำหนดให้กับบุคคลที่ได้รับเชิญแต่ละคน
  • ข้อมูลใน "รายการที่เชิญ (A, B, C)" ประกอบด้วยข้อมูล QUERY
  • ข้อมูลใน "รายการที่เข้าร่วม (D, E, F)" จะคัดลอก / วางค่าในเซลล์

ตัวอย่างของผลลัพธ์ที่ต้องการ

Invitded List (A,B,C)      Attended List (D,E,F)       Absent List (G,H,I)
 A      B       C            D      E       F            G      H        I
Key | Fname | Lname       | Key | Fname | Lname       | Key  | Fname | Lname
------------------------------------------------------------------- 
001   Tim     Smith         002  Mike     Jones         001    Tim     Smith
002   Mike    Jones         004  Jenny    Johnson       003    Amy     Wilson
003   Amy     Wilson
004   Jenny   Johnson

ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก


ทำไม vlookup จึงไม่ทำงานให้คุณ?
rahi

@rahi ขอบคุณที่ดูที่นี่ vlookup อาจใช้ได้คุณช่วยบอกทางหน่อยได้ไหม
นาย B

คำตอบ:


3

คุณสามารถลองสิ่งนี้:

=if(countif(D:D,A2)=0,A2,"")  

จากนั้นคัดลอกข้ามและลงเพื่อให้เหมาะกับ

COUNTIF


สิ่งนี้ทำงานเป็นผลลัพธ์บางส่วนซึ่งจะส่งคืนสตริงว่างที่ควรลบเพื่อให้ได้ผลลัพธ์สุดท้ายที่ต้องการ
Rubén

6

สูตร

=ArrayFormula(FILTER(A4:C7,ISERROR(match(A4:A7,D4:D5,0))))

คำอธิบาย

MATCH ส่งคืนข้อผิดพลาดหากผู้ได้รับเชิญไม่ปรากฏในรายการที่เข้าร่วม ISERROR แปลงข้อผิดพลาดเป็น TRUE และค่าเป็น FALSE ผลลัพธ์นี้ใช้เป็นเกณฑ์การกรอง ผลที่ได้คือรายการการขาด:

|   001 |Tim       |Smith
|   003 |Amy       |Wilson

เพียงเพิ่มส่วนหัวที่เหมาะสมด้านบนสูตร


0

VLOOKUPเป็นอีกวิธีหนึ่งที่คุณจะได้คำตอบที่คุณต้องการ แต่ฉันไม่แน่ใจว่ามันจะนำเสนอในแบบที่คุณต้องการหรือไม่

จากบทความช่วยเหลือของ Google ชีต VLOOKUP

ค้นหาคอลัมน์แรกของช่วงเพื่อหาคีย์และส่งคืนค่าของเซลล์ที่ระบุในแถวที่พบ

ดังนั้นหากคุณเพิ่มStatusคอลัมน์ในรายการผู้เข้าร่วมของคุณคุณสามารถเรียกใช้VLOOKUPในรายการที่ได้รับเชิญให้ขอให้ส่งคืนAttendedสถานะ

ข้อมูลของคุณอาจมีลักษณะดังนี้:

ก่อน VLOOKUP

ในเซลล์ D2 VLOOKUPสูตรของคุณจะเป็นดังนี้:

=VLOOKUP(A2, E:H, 4, FALSE)

  • A2 เป็นกุญแจสำคัญ
  • E:H คือช่วง (รายการของผู้เข้าร่วม)
  • 4อ้างถึงหมายเลขคอลัมน์ในช่วงของค่าที่คุณต้องการส่งคืน
  • FALSE แสดงว่าคุณกำลังมองหาการจับคู่ที่ถูกต้องบนกุญแจ

เมื่อคุณเติมสูตรลงจากเซลล์ D2 ถึง D5 คุณจะพบข้อมูลดังนี้:

หลังจาก VLOOKUP

ในกรณีที่มีการแข่งขันStatusค่าจะถูกดึงไป #N/Aในกรณีที่ไม่มีการแข่งขันคุณเห็น


สิ่งนี้ทำงานเป็นผลลัพธ์บางส่วนตามที่จะส่งคืนข้อผิดพลาดที่สามารถใช้เพื่อกรองรายการที่ได้รับเชิญในภายหลังเพื่อให้ได้ผลลัพธ์สุดท้ายที่ต้องการ
Rubén

0

โซลูชันเซลล์เดียว:

การรวมFILTERฟังก์ชั่นเข้ากับCOUNTIFฟังก์ชั่นช่วยให้คุณมีรายการที่คุณต้องการ:

=FILTER(A:C,COUNTIF(D:D,A:A)=0))

ในตัวอย่างนี้ฉันใช้คีย์เป็นเขตข้อมูลการเปรียบเทียบคอลัมน์ A กับการจับคู่ใน D แต่มันทำงานกับคอลัมน์อื่นเช่นกัน

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