Đếm giá trị không trùng và truy ra bản ghi trùng
Đầu bài
Cần biết có bao nhiêu khách hàng KHÁC NHAU (không phải bao nhiêu dòng), và chỉ ra chứng từ nào bị nhập trùng theo nhiều khóa cùng lúc.
Các bước làm
- 1
Đếm số khách không trùng
=SUMPRODUCT(1/COUNTIF(cột_KH, cột_KH)) — mỗi khách xuất hiện n lần được cộng n×(1/n)=1, ra đúng số khách distinct.
- 2
Bản 365 thì một hàm
=COUNTA(UNIQUE(cột_KH)) — gọn, nhưng SUMPRODUCT chạy được cả trên bản cũ.
- 3
Bắt trùng theo nhiều khóa
=COUNTIFS(ngày, ngày_ô, số_ct, ct_ô, tiền, tiền_ô) > 1 — trùng khi cả ba khóa cùng lặp, không bắt nhầm hai chứng từ khác nhau tình cờ giống số.
- 4
Đánh số lần xuất hiện
=COUNTIFS($khóa$đầu:khóa_hiện_tại, khóa) — dòng trùng thứ hai trở đi ra 2, 3... để giữ bản đầu, xóa bản sau.
- 5
Lọc riêng phần trùng ra soát
Ctrl+Shift+L, lọc cột đánh dấu >1; hoặc Conditional Formatting → Highlight Duplicate để nhìn nhanh.
- 6
Kiểm sau khi dọn
Xóa xong, SUMPRODUCT distinct phải bằng tổng số dòng còn lại — bằng nhau nghĩa là sạch trùng.
Phím dùng trong bài
Bẫy hay dính
COUNTIF trong mẫu distinct sẽ #DIV/0! nếu cột có ô TRỐNG (chia cho 0 lần đếm) — lọc bỏ ô rỗng trước, hoặc dùng SUMPRODUCT((cột<>"")/COUNTIF(...)).
Cùng nhóm dò tìm, đối chiếu & bắt lệch
- VLOOKUP báo #N/A dù hai bên nhìn y hệt nhauDò mã khách từ bảng này sang bảng kia, mắt nhìn hai ô giống hệt nhau nhưng công thức vẫn trả về #N/A. Đây là câu hỏi số một của học viên mới.
- Đối chiếu hai danh sách: bên nào thiếu, bên nào lệch tiềnSao kê ngân hàng một bên, sổ kế toán một bên. Cần biết chứng từ nào chỉ có ở một bên, và chứng từ nào có cả hai bên nhưng lệch số tiền.
- Dò theo hai điều kiện trở lên không cần cột phụCần lấy giá theo cả mã hàng VÀ khu vực, hoặc doanh số theo nhân viên VÀ tháng. VLOOKUP thường chỉ dò được một khóa.
- Dò đơn giá theo NGÀY HIỆU LỰC khi bảng giá đổi mấy lần trong nămCùng một mã hàng có nhiều dòng trong bảng giá, mỗi dòng một ngày áp dụng. Hoá đơn ngày nào phải ăn đúng giá có hiệu lực tại ngày đó — VLOOKUP thường chỉ lấy dòng nó gặp trước.