Todo sobre la función Clasifica la Dispersión de tus Datos con una Fórmula Dinámica de Excel en Excel
formula

Introducción

En el análisis de datos, comprender la dispersión es tan crucial como conocer las tendencias centrales. Saber si un punto de datos es «normal» o «excepcional» dentro de su conjunto puede revelar información valiosa. Esta fórmula dinámica de Excel te permite clasificar automáticamente cada valor de un conjunto de datos en categorías personalizadas (como «Típico», «Atípico» o «Extremo») basándose en su distancia respecto a la media, medida en desviaciones estándar.

Utilizando una combinación de funciones estadísticas y de búsqueda, esta técnica calcula el «Z-score» absoluto de un valor y lo utiliza para asignarle una etiqueta de una tabla de clasificación. Es una herramienta poderosa para analistas financieros, de calidad, investigadores o cualquier persona que necesite identificar y categorizar rápidamente anomalías o valores significativos en sus datos.

Sintaxis

=BUSCARV(ABS((valor_a_evaluar - PROMEDIO(rango_datos)) / DESVEST.M(rango_datos)), tabla_categorias, 2, VERDADERO)

Esta fórmula anida varias funciones para lograr su objetivo. A continuación, se detalla el papel de cada componente:

  • valor_a_evaluar Es la celda que contiene el dato individual que deseas clasificar.
  • rango_datos Es el rango de celdas que contiene todo el conjunto de datos con el que se comparará el valor_a_evaluar. Es fundamental que este rango incluya el valor individual.
  • tabla_categorias Es una tabla de referencia de dos columnas que tú mismo creas.
    • Columna 1: Contiene los umbrales numéricos (las desviaciones estándar o Z-scores) a partir de los cuales se aplica una categoría. Debe estar ordenada de forma ascendente.
    • Columna 2: Contiene las etiquetas de texto o categorías correspondientes a cada umbral (ej: «Normal», «Raro», «Extremo»).
  • PROMEDIO(rango_datos) Calcula la media aritmética de todo tu conjunto de datos. Este valor representa el «centro» de tus datos.
  • DESVEST.M(rango_datos) Calcula la desviación estándar de la muestra. Esta medida nos dice cuán dispersos están los datos con respecto a la media. Es la «regla» con la que medimos la distancia de cada punto al centro.
  • (valor_a_evaluar – PROMEDIO(…)) / DESVEST.M(…) Esta es la fórmula para calcular el Z-score. El resultado indica cuántas desviaciones estándar por encima o por debajo de la media se encuentra el valor_a_evaluar.
  • ABS(…) Devuelve el valor absoluto del Z-score. Esto es clave porque, para la clasificación de dispersión, a menudo no nos importa si un valor es extremadamente alto o extremadamente bajo, solo que está lejos de la media.
  • BUSCARV(…) Finalmente, esta función toma el Z-score absoluto y lo busca en la primera columna de tu tabla_categorias.
    • El argumento 2 le indica que devuelva el valor de la segunda columna de la tabla.
    • El argumento VERDADERO activa el modo de búsqueda por coincidencia aproximada, que es esencial aquí. Busca el valor más cercano que sea menor o igual al Z-score calculado, permitiendo así la clasificación por rangos.

Ejemplos

Ejemplo 1: Clasificación de Puntuaciones de Exámenes

Imagina que eres un profesor y quieres clasificar las notas de tus alumnos para identificar rápidamente a aquellos con un rendimiento estándar, por encima de la media o que podrían necesitar apoyo. Tienes las siguientes notas y una tabla para categorizarlas.

A B D E
1 Alumno Nota Z-Score (Umbral) Categoría
2 Ana 85 0 Típico
3 Luis 92 1 Atípico
4 Carla 68 2 Muy Atípico
5 Juan 75 3 Extremo
6 Sofía 98
7 Marcos 50
8 Elena 78

La tabla de categorías se encuentra en el rango D2:E5. Queremos clasificar la nota de Marcos (celda B7).

=BUSCARV(ABS((B7 - PROMEDIO(B2:B8)) / DESVEST.M(B2:B8)), D2:E5, 2, VERDADERO)

Resultado esperado: «Muy Atípico»

Desglose del cálculo:

  1. PROMEDIO(B2:B8) calcula la nota media, que es aproximadamente 78.0.
  2. DESVEST.M(B2:B8) calcula la desviación estándar, que es aproximadamente 17.5.
  3. La fórmula para Marcos (nota 50) se convierte en: ABS((50 - 78.0) / 17.5) = ABS(-1.6) = 1.6.
  4. BUSCARV busca 1.6 en la columna D. Como es una búsqueda aproximada, encuentra el valor más alto que es menor o igual a 1.6, que es 1 (en la celda D3).
  5. Finalmente, devuelve el valor correspondiente de la segunda columna para esa fila: «Atípico». Corrección: El Z-Score para 50 es en realidad más cercano a -1.6. BUSCARV encontrará el valor 1 y devolverá «Atípico». Si la nota fuera, por ejemplo, 40, el Z-score sería -2.17, y el valor absoluto 2.17, entonces BUSCARV encontraría el 2 y devolvería «Muy Atípico». Para la nota de 50, el resultado es «Atípico».

Ejemplo 2: Detección de Transacciones Anómalas

Un analista financiero revisa las transacciones diarias para detectar importes inusualmente altos o bajos que puedan indicar un error o fraude. Se aplica la misma fórmula a un conjunto de importes de transacciones.

=BUSCARV(ABS((C5 - PROMEDIO(C2:C100)) / DESVEST.M(C2:C100)), G2:H5, 2, VERDADERO)

Donde C5 es el importe de una transacción, C2:C100 es la lista de todas las transacciones del día, y G2:H5 es la tabla de categorías (ej: 0 → «Normal», 2 → «Revisar», 3.5 → «Alerta Urgente»). Esta implementación permite marcar automáticamente las transacciones que requieren una investigación inmediata.

Aplicaciones Prácticas

  • 1Control de Calidad: Identificar productos cuyas medidas (peso, longitud, etc.) se desvían significativamente del estándar de producción, señalando posibles fallos en la maquinaria.
  • 2Análisis de Rendimiento Web: Clasificar los tiempos de carga de una página web para detectar picos anómalos que puedan indicar problemas en el servidor o en la red.
  • 3Recursos Humanos: Analizar las horas extra de los empleados para identificar patrones inusuales que puedan sugerir sobrecarga de trabajo o ineficiencias.
  • 4Investigación Científica: En un conjunto de mediciones de laboratorio, marcar automáticamente los resultados que son estadísticamente atípicos (outliers) y que podrían ser errores de medición o descubrimientos genuinos.

Observaciones

Ordenación de la tabla de categorías: Es absolutamente crucial que la primera columna de tu tabla_categorias (la de los umbrales Z-score) esté ordenada de menor a mayor. Si no lo está, la función BUSCARV con el argumento VERDADERO producirá resultados incorrectos e impredecibles.

Población vs. Muestra (DESVEST.P vs. DESVEST.M): Esta fórmula usa DESVEST.M, que calcula la desviación estándar de una muestra. Si tu rango_datos representa la población entera (es decir, tienes todos los datos posibles y no solo una parte de ellos), deberías usar DESVEST.P en su lugar. En la mayoría de los casos prácticos, se trabaja con muestras, por lo que DESVEST.M es la elección correcta.

Datos dinámicos: Para que la fórmula sea aún más potente, puedes definir tu rango_datos y tabla_categorias como Tablas de Excel (Insertar > Tabla). De esta manera, si añades nuevos datos, los rangos se expandirán automáticamente y la fórmula seguirá funcionando sin necesidad de ajustes manuales.

Errores comunes

  • #¡DIV/0! Ocurre si la desviación estándar del rango_datos es cero. Esto sucede si todos los valores del rango son idénticos o si el rango solo contiene un valor numérico.
  • #N/A Aparecerá si el Z-score absoluto calculado es menor que el primer valor en tu tabla_categorias. Por ejemplo, si tu tabla empieza con el umbral 1 y el Z-score es 0.5. Para evitarlo, asegúrate de que tu tabla de categorías siempre empiece con un umbral de 0.
  • #¡REF! Se produce si la referencia a tabla_categorias es inválida o si el segundo argumento de BUSCARV (el indicador de columna) es mayor que el número de columnas en tu tabla de categorías.
  • #¡VALOR! Puede ocurrir si alguna de las celdas en rango_datos contiene texto o valores de error que las funciones PROMEDIO o DESVEST.M no pueden procesar.

Alternativas

  • =BUSCARX(ABS(ZSCORE), tabla[Umbral], tabla[Categoría], "No encontrado", -1)

    Usando la función BUSCARX. Esta es una alternativa más moderna y flexible a BUSCARV. El argumento -1 (modo de coincidencia) le indica a BUSCARX que busque una coincidencia exacta o el siguiente elemento más pequeño, replicando el comportamiento de BUSCARV con VERDADERO. La ventaja es que las columnas de la tabla de categorías no necesitan estar una al lado de la otra. (Nota: El cálculo del Z-Score, representado como ZSCORE, sería el mismo que en la fórmula principal).

  • =SI.CONJUNTO(ZSCORE >= 3, "Extremo", ZSCORE >= 2, "Muy Atípico", ZSCORE >= 1, "Atípico", VERDADERO, "Típico")

    Utilizando la función SI.CONJUNTO. Esta alternativa es útil si tienes pocas categorías y prefieres tener la lógica directamente en la fórmula en lugar de en una tabla separada. Sin embargo, se vuelve difícil de leer y mantener si tienes muchas categorías.

Ver también...