L'unico modo che ho trovato (usando le formule) è introducendo una nuova count
colonna.
Se i valori sono elencati nella colonna A
, a partire dal fila 2
, immettere la formula =COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
in B2
e trascinare verso il basso per copiarlo. Questo da:
| A: VALUE | B: COUNT |
|-----------|----------|
| a | 1 |
| b | 2 |
| c | 1 |
| d | 2 |
| b | 2 |
| d | 2 |
Ora che abbiamo un conteggio delle occorrenze di ciascun valore, possiamo filtrare la A
colonna per valori da B
. Nella cella C2
, inserisci la formula =UNIQUE(FILTER(A2:A7, B2:B7 > 1))
. Questo da:
| A: VALUE | B: COUNT | C: DUPS |
|-----------|----------|---------|
| a | 1 | b |
| b | 2 | d |
| c | 1 | |
| d | 2 | |
| b | 2 | |
| d | 2 | |
Spiegazione delle formule
=COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
- La
filter
clausola controlla la A
colonna e trova celle che hanno lo stesso valore di cella A2
( A2
viene sostituita con la cella corrispondente durante la copia della formula).
counta
conta i valori (inclusi quelli non numerici).
=UNIQUE(FILTER(A2:A7, B2:B7 > 1))
- Questo
filter
esamina la colonna B
per i valori che sono > 1
e restituisce i valori corrispondenti dalla colonna A
. La unique
funzione semplicemente assicura che restituiamo ogni valore una sola volta, quindi non otteniamo b
due volte, per esempio.
Tuttavia , un modo più elegante sarebbe usare una funzione di 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;
}
Vai su Strumenti → Script Editor , incolla il codice sopra e salva. Ora puoi chiamare la funzione inserendo la formula =dups(A2:A7)
ovunque. Ciò restituisce i duplicati trovati in A2:A7
.
Ho creato un foglio di calcolo di esempio per dimostrare entrambe le possibilità , sentitevi liberi di guardarlo e copiarlo.