Quirk inusual de la función UNIQUE() y fórmulas de matriz dinámica

Quirk inusual de la función UNIQUE() y fórmulas de matriz dinámica

Recientemente, tenía datos de aproximadamente 150.000 filas, donde aproximadamente 100.000 filas tenían un valor único en la columna E. La columna se veía así:

Column Heading
1
2
2
3
...
99999
99999
100000

Para contar las filas únicas, intenté COUNT(UNIQUE(E:E))-1y recibí un resultado de "-1". Sin embargo, debido a un feliz accidente, descubrí que COUNT(UNIQUE(E:E)+0)-1me daba el resultado esperado de "100000". Rara vez uso fórmulas de matriz dinámica, así que quería saber por qué esto marcaba la diferencia.

Pensé que la diferencia podría ser atribuible a mi uso de toda la columna, ya que sé que a veces puede ser problemático con CONTAR.SI/SUMIFS, pero COUNT(UNIQUE(E1:E150001))-1aún así arroja "-1" y COUNT(UNIQUE(E1:E150001)+0)-1aún arroja "100000".

¿Alguien podría explicarme este comportamiento? ¿Cómo "soluciona" mi problema el "+0" dentro de la función COUNT()? ¿Para qué sirve el "+0"?

¡Muchas gracias por tu ayuda!

Respuesta1

Sus datos en la columna E probablemente estén almacenados como texto. Como la función CONTAR solo cuenta valores numéricos, devolverá 0.

Cuando sumas 0, Excel lo "suma" a cada valor y también los convierte en números, por lo que COUNT dará el resultado correcto.

También puedes obtener el resultado correcto con COUNTA; o asegurarse de que los datos se almacenen en el formato correcto en primer lugar.

información relacionada