Cách duy nhất tôi tìm thấy (sử dụng công thức) là giới thiệu một countcột mới .
Nếu các giá trị của bạn được liệt kê trong cột A, bắt đầu trên hàng 2, hãy nhập công thức =COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))vào B2và kéo xuống để sao chép nó. Điều này mang lại:
| A: VALUE | B: COUNT |
|-----------|----------|
| a | 1 |
| b | 2 |
| c | 1 |
| d | 2 |
| b | 2 |
| d | 2 |
Bây giờ chúng ta có số lần xuất hiện của từng giá trị, chúng ta có thể lọc Acột theo các giá trị từ đó B. Trong ô C2, chèn công thức =UNIQUE(FILTER(A2:A7, B2:B7 > 1)). Điều này mang lại:
| A: VALUE | B: COUNT | C: DUPS |
|-----------|----------|---------|
| a | 1 | b |
| b | 2 | d |
| c | 1 | |
| d | 2 | |
| b | 2 | |
| d | 2 | |
Giải thích về công thức
=COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
- Các
filterđiều khoản kiểm tra các Acột, và tìm thấy tế bào có giá trị tương tự như tế bào A2( A2được thay thế bằng các tế bào tương ứng khi sao chép công thức).
counta đếm các giá trị (bao gồm cả số không).
=UNIQUE(FILTER(A2:A7, B2:B7 > 1))
- Điều này
filterkiểm tra cột Bcho các giá trị đó > 1và trả về các giá trị tương ứng từ cột A. Các uniquechức năng đơn giản là làm cho chắc chắn chúng tôi chỉ trả lại mỗi giá trị một lần, vì vậy chúng tôi đừng có được bhai lần, ví dụ.
Tuy nhiên , một cách thanh lịch hơn sẽ là sử dụng chức năng tập lệnh:
function dups(rows) {
var values = {};
var duplicates = [];
for (var i = 0; i < rows.length; i++) {
var value = rows[i][0];
if (values[value] !== undefined && duplicates.indexOf(value) == -1) {
duplicates.push(value);
} else {
values[value] = true
}
}
return duplicates;
}
Chuyển đến Công cụ → Trình chỉnh sửa tập lệnh , dán mã ở trên và lưu. Bây giờ bạn có thể gọi hàm bằng cách nhập công thức ở =dups(A2:A7)bất cứ đâu. Điều này trả về các bản sao được tìm thấy trong A2:A7.
Tôi đã thiết lập một bảng tính ví dụ để chứng minh cả hai possibilites , cứ thoải mái nhìn vào nó và sao chép nó.