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 count
cộ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 B2
và 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 A
cộ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 A
cộ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
filter
kiểm tra cột B
cho các giá trị đó > 1
và trả về các giá trị tương ứng từ cột A
. Các unique
chứ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 b
hai 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ó.