A única maneira que encontrei (usando fórmulas) é introduzindo uma nova count
coluna.
Se os seus valores estão listados na coluna A
, começando na linha 2
, introduza a fórmula =COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
em B2
e arraste para baixo para copiá-lo. Isto dá:
| A: VALUE | B: COUNT |
|-----------|----------|
| a | 1 |
| b | 2 |
| c | 1 |
| d | 2 |
| b | 2 |
| d | 2 |
Agora que temos uma contagem de ocorrências de cada valor, podemos filtrar a A
coluna pelos valores de B
. Na célula C2
, insira a fórmula =UNIQUE(FILTER(A2:A7, B2:B7 > 1))
. Isto dá:
| A: VALUE | B: COUNT | C: DUPS |
|-----------|----------|---------|
| a | 1 | b |
| b | 2 | d |
| c | 1 | |
| d | 2 | |
| b | 2 | |
| d | 2 | |
Explicação das fórmulas
=COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
- A
filter
cláusula inspeciona a A
coluna e localiza células que têm o mesmo valor que a célula A2
( A2
é substituída pela célula correspondente ao copiar a fórmula).
counta
conta valores (incluindo não numéricos).
=UNIQUE(FILTER(A2:A7, B2:B7 > 1))
- Este
filter
examina coluna B
para valores que são > 1
, e retorna os valores correspondentes da coluna A
. A unique
função simplesmente garante que retornemos cada valor apenas uma vez, portanto não obtemos b
duas vezes, por exemplo.
No entanto , uma maneira mais elegante seria usar uma função de script:
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;
}
Vá em Ferramentas → Editor de scripts , cole o código acima e salve. Agora você pode chamar a função digitando a fórmula em =dups(A2:A7)
qualquer lugar. Isso retorna as duplicatas encontradas em A2:A7
.
Criei uma planilha de exemplo para demonstrar as duas possibilidades , fique à vontade para vê-la e copiá-la.