Единственный способ, который я нашел (используя формулы), это ввести новый countстолбец.
Если значения перечислены в столбце A, начиная с строки 2, введите формулу =COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))в B2и перетащите вниз , чтобы скопировать его. Это дает:
| A: VALUE | B: COUNT |
|-----------|----------|
| a | 1 |
| b | 2 |
| c | 1 |
| d | 2 |
| b | 2 |
| d | 2 |
Теперь, когда у нас есть количество вхождений каждого значения, мы можем отфильтровать Aстолбец по значениям из B. В ячейку C2вставьте формулу =UNIQUE(FILTER(A2:A7, B2:B7 > 1)). Это дает:
| A: VALUE | B: COUNT | C: DUPS |
|-----------|----------|---------|
| a | 1 | b |
| b | 2 | d |
| c | 1 | |
| d | 2 | |
| b | 2 | |
| d | 2 | |
Пояснение формул
=COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
- Предложение
filterпроверяет Aстолбец и находит ячейки, которые имеют то же значение, что и ячейка A2( A2заменяется соответствующей ячейкой при копировании формулы).
counta подсчитывает значения (включая нечисловые).
=UNIQUE(FILTER(A2:A7, B2:B7 > 1))
- Это
filterпроверяет столбец на Bналичие значений > 1и возвращает соответствующие значения из столбца A. uniqueФункция просто делает , что мы только вернуть каждое значение один раз, так что мы не сможем воспользоваться в bдва раза, к примеру.
Однако более элегантным способом было бы использовать функцию сценария:
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;
}
Перейдите в Инструменты → Редактор скриптов , вставьте приведенный выше код и сохраните. Теперь вы можете вызвать функцию, введя формулу в =dups(A2:A7)любом месте. Это возвращает дубликаты, найденные в A2:A7.
Я создал пример электронной таблицы, чтобы продемонстрировать обе возможности , не стесняйтесь смотреть и копировать ее.