So sánh hai danh sách và hiển thị các mục còn thiếu trong Bảng tính Google


9

Tôi đang cố gắng tìm một giải pháp để so sánh hai danh sách riêng biệt (được mời - tham dự) và tạo danh sách thứ 3 (vắng mặt).

Hàm phải xem khóa trong "Danh sách đã tham dự (D, E, F)" và so sánh nó với khóa trong "Danh sách được mời (A, B, C)" và sau đó hiển thị các giá trị bị thiếu trong "Danh sách vắng mặt (G, H ,TÔI)".

Về dữ liệu

  • Khóa là một "giá trị duy nhất" được gán cho mỗi người được mời.
  • Dữ liệu trong "Danh sách được mời (A, B, C)" bao gồm dữ liệu QUERY.
  • Dữ liệu trong "Danh sách tham dự (D, E, F)" nó sao chép / dán các giá trị trong các ô.

Ví dụ về kết quả mong muốn

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

Bất kỳ trợ giúp được đánh giá rất cao.


Tại sao vlookup không làm việc cho bạn?
rahi

@rahi Cảm ơn bạn đã xem cái này. vlookup có thể làm việc, bạn có thể vui lòng cho tôi một số hướng?
Ông B

Câu trả lời:


2

Bạn có thể thử một cái gì đó như thế này:

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

sau đó sao chép qua lại cho phù hợp.

QUẬN


Điều này hoạt động như một kết quả một phần vì sẽ trả về các chuỗi trống cần được loại bỏ để có được kết quả cuối cùng mong muốn.
Rubén

6

Công thức

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

Giải trình

MATCH trả về lỗi nếu người được mời không xuất hiện trong danh sách tham dự. ISERROR chuyển đổi lỗi thành TRUE và các giá trị thành FALSE Kết quả này được sử dụng làm tiêu chí lọc. Kết quả là, danh sách vắng mặt:

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

Chỉ cần thêm các tiêu đề thích hợp trên công thức


0

VLOOKUP là một cách khác để bạn có thể nhận được câu trả lời mình muốn, nhưng tôi không chắc liệu nó có trình bày theo cách bạn muốn không.

Từ bài viết trợ giúp của Google Sheets, VLOOKUP,

Tìm kiếm cột đầu tiên của một phạm vi cho một khóa và trả về giá trị của một ô được chỉ định trong hàng được tìm thấy.

Vì vậy, nếu bạn thêm một Statuscột trong danh sách những người tham dự, bạn có thể chạy VLOOKUPdanh sách được mời, yêu cầu nó trả lại Attendedtrạng thái.

Dữ liệu của bạn có thể trông giống như thế này:

Trước VLOOKUP

Trong ô D2, VLOOKUPcông thức của bạn sẽ như thế này:

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

  • A2 là chìa khóa
  • E:H là phạm vi (danh sách người tham dự)
  • 4đề cập đến số cột trong phạm vi giá trị bạn muốn trả về
  • FALSE chỉ ra rằng bạn đang tìm kiếm một kết hợp chính xác trên phím

Khi bạn điền công thức từ ô D2 xuống D5, bạn sẽ có dữ liệu như sau:

Sau khi VLOOKUP

Trường hợp có một trận đấu, Statusgiá trị được kéo qua. Trường hợp không có trận đấu, bạn thấy một #N/A.


Điều này hoạt động như một kết quả một phần vì sẽ trả về các lỗi có thể được sử dụng để sau đó lọc danh sách được mời để có được kết quả cuối cùng mong muốn.
Rubén

0

Giải pháp một tế bào:

Kết hợp FILTERHàm với COUNTIFhàm cung cấp cho bạn danh sách bạn muốn:

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

Trong ví dụ này, tôi đã sử dụng Khóa làm trường khớp so sánh cột A với khớp trong D nhưng nó cũng hoạt động với các cột khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.