Единственный способ, который я нашел (используя формулы), это ввести новый 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
.
Я создал пример электронной таблицы, чтобы продемонстрировать обе возможности , не стесняйтесь смотреть и копировать ее.