So sánh hai danh sách và tách các thành phần giống nhau, khác nhau

Vừa rồi Học Excel Online có nhận được 1 câu hỏi khá thú vị như sau:

  • Làm thế nào để so sánh 2 danh sách ở 2 sheet khác nhau?
  • Làm cách nào để tách (lấy) ra được những nội dung xuất hiện đồng thời trong cả 2 danh sách này?
  • Làm cách nào để tách (lấy) ra được những nội dung chỉ có ở danh sách A mà không có trong danh sách B?
  • Làm cách nào để tách (lấy) ra được những nội dung chỉ có ở danh sách B mà không có trong danh sách A?

Bạn có thể tự mình trả lời được câu hỏi này không? Hãy để Học Excel Online gợi ý cho bạn 1 cách làm nhé:

1. Phân tích yêu cầu

Giả sử chúng ta có 2 danh sách nằm trên 2 sheet khác nhau, gọi là Sheet A và Sheet B, tương ứng là Danh sách A nằm ở Sheet A, Danh sách B nằm ở Sheet B

Thực hiện so sánh 2 danh sách = so sánh từng giá trị trong danh sách này với toàn bộ danh sách kia. Đây là việc thay đổi cách diễn đạt để có thể hình dung ra được câu lệnh sẽ sử dụng (Lệnh COUNTIF)

Việc tách (lấy) dữ liệu sẽ bao gồm 2 thủ tục:

  • Lọc dữ liệu dựa vào kết quả của việc so sánh. Tùy từng yêu cầu dữ liệu cần lấy sẽ thực hiện lọc theo nội dung tương ứng.
  • Lấy dữ liệu bằng cách Copy+Paste hoặc kỹ thuật lọc dữ liệu khác (ví dụ như Advanced Filter)

2. Cách làm

2.1. Xây dựng hàm COUNTIF

Muốn so sánh nội dung ở Danh sách B với danh sách A, chúng ta đặt hàm COUNTIF tại sheet A như sau:

Trong đó các đối tượng của hàm COUNTIF gồm:

Range: Vùng cần so sánh – là danh sách ở Sheet B, cột A. Khi áp dụng trên toàn bộ cột A ở sheet B thì có thể viết như sau: B!A:A

Criteria: Điều kiện cần so sánh – là từng giá trị ở danh sách A, áp dụng từ A2 tới A10

Như vậy với từng giá trị trong danh sách A, chúng ta có kết quả như sau:

  • Bằng 0: giá trị này ở danh sách A không có trong danh sách B
  • Bằng 1: Giá trị này ở danh sách A có cả trong danh sách B, xuất hiện 1 lần

2.2. Thao tác lọc

Áp dụng chức năng AutoFilter ở Sheet A như sau:

  • Chọn toàn bộ vùng dữ liệu ở Sheet A, gồm 2 cột A và B
  • Chọn tab Data > chọn Filter

Để lọc nội dung xuất hiện đồng thời cả 2 sheet, lọc các giá trị có kết quả là 1 tại cột B

Để lọc nội dung chỉ có ở Danh sách A, không có trong danh sách B, lọc các giá trị có kết quả là 0 tại cột B

2.3. Thao tác lấy dữ liệu

  • Copy các kết quả sau khi lọc ở cột A
  • Dán phần giá trị (paste special / Value) sang vùng kết quả

Xem thêm video dưới đây để hiểu rõ hơn về cách thực hiện:

Chúc các bạn học tốt cùng Học Excel Online!