La única forma que encontré (usando fórmulas) es introduciendo una nueva countcolumna.
Si sus valores se enumeran en la columna A, a partir de la fila 2, introduzca la fórmula =COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))en B2y arrastre hacia abajo para copiarlo. Esto da:
| A: VALUE | B: COUNT |
|-----------|----------|
| a | 1 |
| b | 2 |
| c | 1 |
| d | 2 |
| b | 2 |
| d | 2 |
Ahora que tenemos un recuento de las ocurrencias de cada valor, podemos filtrar la Acolumna por los valores de B. En la celda C2, inserte la fórmula =UNIQUE(FILTER(A2:A7, B2:B7 > 1)). Esto da:
| A: VALUE | B: COUNT | C: DUPS |
|-----------|----------|---------|
| a | 1 | b |
| b | 2 | d |
| c | 1 | |
| d | 2 | |
| b | 2 | |
| d | 2 | |
Explicación de fórmulas
=COUNTA(FILTER(A$2:A$7, A$2:A$7 = A2))
- La
filtercláusula inspecciona la Acolumna y encuentra celdas que tienen el mismo valor que la celda A2( A2se reemplaza con la celda correspondiente al copiar la fórmula).
counta cuenta los valores (incluidos los no numéricos).
=UNIQUE(FILTER(A2:A7, B2:B7 > 1))
- Esto
filterexamina la columna Bpara los valores que son > 1, y devuelve los valores correspondientes de la columna A. La uniquefunción simplemente asegura que solo devolvamos cada valor una vez, por lo que no obtenemos bdos veces, por ejemplo.
Sin embargo , una forma más elegante sería usar una función 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;
}
Vaya a Herramientas → Editor de secuencias de comandos , pegue el código anterior y guárdelo. Ahora puede llamar a la función ingresando la fórmula en =dups(A2:A7)cualquier lugar. Esto devuelve los duplicados encontrados en A2:A7.
He configurado una hoja de cálculo de ejemplo para demostrar ambas posibilidades , siéntase libre de mirarla y copiarla.