En el análisis de datos, una de las tareas más comunes es identificar y clasificar el rendimiento de los productos. Saber qué productos son los más vendidos en un período determinado es crucial para la toma de decisiones estratégicas. Microsoft Excel, con sus funciones de matrices dinámicas, ofrece una solución elegante y potente para esta necesidad, permitiendo crear rankings que se actualizan automáticamente.
La combinación de las funciones ORDENAR y FILTRAR proporciona una fórmula robusta para generar listas clasificadas de productos basadas en criterios específicos, como un volumen de ventas o un rango de fechas. Esta técnica reemplaza métodos más antiguos y complejos, ofreciendo una mayor claridad y eficiencia.
Sintaxis
=ORDENAR(FILTRAR(rango_completo, criterio_filtro), columna_orden, orden)
Para entender cómo funciona esta fórmula, es útil desglosarla en sus componentes principales. La magia reside en anidar la función FILTRAR, que selecciona los datos relevantes, dentro de la función ORDENAR, que los clasifica.
- FILTRAR(rango_completo, criterio_filtro)Esta función es el motor de la selección. Primero, examina el
rango_completo(toda la tabla de datos, por ejemploA2:C50) y devuelve solo las filas que cumplen con elcriterio_filtroespecificado. Por ejemplo, filtrar productos cuyas ventas superen un valor determinado o que correspondan a una fecha específica. - ORDENAR(…)Esta función toma el resultado devuelto por
FILTRAR(un nuevo conjunto de datos más pequeño) y lo organiza. - columna_ordenEs un número que indica qué columna del resultado de
FILTRARse usará como referencia para ordenar. Es importante destacar que se refiere al índice de la columna del resultado filtrado, no de la tabla original. - ordenDefine la dirección de la ordenación. Se puede usar
-1oFALSOpara un orden descendente (de mayor a menor), que es lo más común para un ranking de ventas. Se usa1oVERDADEROpara un orden ascendente.
Ejemplos
Para ilustrar el uso de esta fórmula, utilizaremos la siguiente tabla de datos de ejemplo que registra las ventas de diferentes productos en varias fechas.
| A | B | C | |
|---|---|---|---|
| 1 | Fecha | Producto | Unidades Vendidas |
| 2 | 01/10/2023 | Producto A | 120 |
| 3 | 01/10/2023 | Producto B | 85 |
| 4 | 02/10/2023 | Producto C | 200 |
| 5 | 02/10/2023 | Producto A | 95 |
| 6 | 03/10/2023 | Producto D | 310 |
| 7 | 03/10/2023 | Producto B | 150 |
| 8 | 04/10/2023 | Producto C | 70 |
| 9 | 04/10/2023 | Producto A | 180 |
Ejemplo 1: Ranking de productos con más de 100 unidades vendidas
Se desea obtener una lista de los productos y sus ventas, pero solo para aquellos registros donde las ventas superaron las 100 unidades. La lista debe estar ordenada de mayor a menor venta.
=ORDENAR(FILTRAR(B2:C9, C2:C9>100), 2, -1)
Resultado esperado: Excel generará una nueva tabla dinámica en el área de desbordamiento con el siguiente contenido:
| Producto D | 310 |
| Producto C | 200 |
| Producto A | 180 |
| Producto B | 150 |
| Producto A | 120 |
Nota: La fórmula selecciona las columnas de Producto y Unidades (B2:C9), filtra por la columna de Unidades (C2:C9>100) y ordena por la segunda columna del resultado (el `2` se refiere a las unidades), en orden descendente (-1).
Ejemplo 2: Ranking de productos más vendidos en una fecha específica
Ahora, el objetivo es analizar las ventas de un día concreto. Queremos ver el ranking de ventas únicamente para la fecha «03/10/2023».
=ORDENAR(FILTRAR(B2:C9, A2:A9=FECHA(2023, 10, 3)), 2, FALSO)
Resultado esperado: La fórmula devolverá los productos vendidos en esa fecha, ordenados por su rendimiento.
| Producto D | 310 |
| Producto B | 150 |
Nota: En este caso, el criterio de FILTRAR es una comparación sobre la columna de fechas (A2:A9). La función FECHA se usa para asegurar que el formato de la fecha es el correcto.
Ejemplo 3: Top 3 productos más vendidos en un rango de fechas
Para un análisis más avanzado, podemos querer obtener el «Top 3» de productos vendidos entre el 01/10/2023 y el 03/10/2023. Para ello, anidaremos nuestra fórmula dentro de la función TOMAR, que extrae un número determinado de filas del resultado.
=TOMAR(ORDENAR(FILTRAR(B2:C9, (A2:A9>=FECHA(2023,10,1))*(A2:A9<=FECHA(2023,10,3))), 2, -1), 3)
Resultado esperado: La fórmula primero filtra por el rango de fechas, luego ordena los resultados de mayor a menor venta, y finalmente TOMAR extrae solo las 3 primeras filas.
| Producto D | 310 |
| Producto C | 200 |
| Producto B | 150 |
Aplicaciones Prácticas
- 1Dashboards de Ventas: Crear paneles de control interactivos donde los directivos pueden seleccionar una fecha o un mes y ver al instante el ranking de los productos más vendidos.
- 2Gestión de Inventario: Identificar rápidamente los productos «estrella» para asegurar niveles de stock adecuados y, al mismo tiempo, detectar aquellos con bajo rendimiento que podrían requerir estrategias de marketing o ser descatalogados.
- 3Informes Dinámicos: Generar informes para reuniones que se actualizan automáticamente sin necesidad de copiar, pegar o reordenar datos manualmente cada vez que la información de origen cambia.
- 4Análisis de Campañas: Medir el impacto de una campaña de marketing filtrando por las fechas de la promoción y observando qué productos han liderado las ventas durante ese período.
Observaciones
Es importante tener en cuenta algunos puntos clave al trabajar con esta combinación de fórmulas:
- Fórmulas de Desbordamiento:
ORDENARyFILTRARson funciones de matriz dinámica. Esto significa que el resultado no se muestra en una sola celda, sino que se «desborda» a las celdas adyacentes vacías. Asegúrate de que haya suficiente espacio en la hoja de cálculo para evitar un error#¡DESBORDAMIENTO!. - Dimensiones de Rango: Los rangos utilizados en el segundo argumento de
FILTRAR(el criterio) deben tener las mismas dimensiones (número de filas) que el rango de datos que se está filtrando. - Índice de Columna de Ordenación: Recuerda que el argumento
columna_ordendeORDENARse basa en el resultado deFILTRAR. SiFILTRARdevuelve dos columnas (Producto y Ventas), el índice para ordenar por Ventas será2.
Errores comunes
- #¡CALC! Este error aparece cuando la función
FILTRARno encuentra ninguna fila que cumpla los criterios. Por ejemplo, si se busca una fecha en la que no hubo ventas. Para gestionarlo, puedes envolver la fórmula con la función SI.ERROR:=SI.ERROR(ORDENAR(FILTRAR(...)), "No se encontraron resultados") - #¡VALOR! Puede ocurrir si los rangos de la fórmula no son compatibles o si el argumento
columna_ordenestá fuera de los límites del resultado deFILTRAR(por ejemplo, intentar ordenar por la columna 3 cuandoFILTRARsolo devolvió 2 columnas).
Alternativas
Aunque la combinación de ORDENAR y FILTRAR es la más moderna y recomendada, existen otras formas de lograr resultados similares en Excel:
-
Tablas Dinámicas (Pivot Tables)
Son una herramienta extremadamente potente y flexible para resumir, analizar y clasificar datos. Una Tabla Dinámica puede configurarse para mostrar los productos en las filas, la suma de ventas en los valores, y luego usar un filtro de fecha y las opciones de ordenación para crear un ranking. Es una alternativa ideal para quienes prefieren una interfaz gráfica en lugar de escribir fórmulas.
-
Power Query (Obtener y transformar datos)
Para conjuntos de datos muy grandes o cuando se requiere una limpieza y transformación de datos más compleja antes del análisis, Power Query es la herramienta superior. Permite filtrar, ordenar y dar forma a los datos a través de una serie de pasos que se pueden actualizar con un solo clic.
