Saltar al contenido

Creando el equivalente de Excel de MAXIF

Periódicamente, en Excel, es posible que desee realizar un análisis basado en criterios específicos. Por ejemplo, si quisiera sumar sólo los datos de la figura 1 en base a que el mes es igual a enero, SUMIF me tiene cubierto. Podría usar COUNTIF para contar el número de transacciones en enero, o en Excel 2007 y más tarde usar la función AVERAGEIF para promediar las ventas de sólo enero. Sin embargo, ¿qué pasa si quiero determinar la mayor cantidad sólo para el mes de enero? Aunque no hay una función preparada, como MAXIF, puedo adaptar fácilmente la función MAX para lograr esto.

Figura 1: Haremos un análisis de estos datos basado en criterios específicos.

Creando el equivalente de Excel de MAXIF
Creando el equivalente de Excel de MAXIF

Echemos primero un vistazo a un par de las funciones que he mencionado. Los usuarios que no conocen el SUMIF podrían sumar los valores de enero basados en aritmética simple, como una fórmula como =B2+B6+B10. Esta fórmula es bastante fácil de escribir para pequeños conjuntos de datos, pero rápidamente se vuelve difícil de manejar a medida que los conjuntos de datos crecen. Una mejor alternativa es la función SUMIF, que tiene tres argumentos:

  • Rango. A menudo explico esto como dónde mirar . En este caso especificaremos las celdas A2:A13.
  • Criterios. Suelo explicar esto como qué buscar , que en este caso podría ser “Enero” (asegúrese de incluir las comillas dobles). Un mejor enfoque es referirse a una celda que contenga la palabra “enero”, como la celda D1.
  • Sum_Range. Piensa en esto como lo que hay que sumar . En este caso especificaremos las celdas B2:B13.

Después de que escribimos Enero en la celda D1, podemos entonces introducir esta fórmula en la celda E1:

=SUMIF(A$2:A$13,D1,B$2:B$13)

Notarán que puse el signo de dólar antes de algunos de los números de fila. Lo hice por si decido entrar en febrero en la celda D2, en marzo en la D3 y en abril en la D4. Luego puedo hacer clic en la celda E1 y luego hacer doble clic en la Manija de Relleno, como se muestra en la Figura 2, para copiar la fórmula en las filas adicionales. Si dejo fuera el signo de dólar, entonces en la celda E2 la fórmula se convertiría en =SUMIF(A3:A14,D2,B3:B14). Ahora sí quería que D1 cambiara a D2, pero no quería que A2:A13 o B2:B13 cambiaran a las filas de referencia 3 a 14. Hacerlo significa que podría terminar dejando algunos datos fuera de mi análisis.

Figura 2: La función SUMIF puede sumar datos en base a criterios específicos, que en este caso es enero.

Una vez que entiendas el SUMIF, puedes usar el COUNTIF también. Como no hay nada que sumar, COUNTIF sólo tiene un argumento de Rango y Criterio, que devolverá el número de veces que Enero aparece en las celdas A2:A13.

AVERAGEIF utiliza los mismos argumentos que SUMIF, pero devolverá la media de las cantidades de enero. Digamos, sin embargo, que usted quiere la cantidad más alta sólo para el mes de enero. Excel no tiene una función MAXIF, pero puedes escribir un tipo especial de fórmula conocida como fórmula de matriz que hará el truco en su lugar.

Primero, veamos la función MAX, que devuelve el mayor valor de un rango de celdas o una serie de números separados por comas. Basándonos en los datos de la figura 1, la fórmula =MAX(B2:B13) devolvería 462, que es el mayor número en ese rango de números. Para obtener los mayores valores para el mes de enero tendremos que incorporar una declaración IF en nuestra fórmula, como se ilustra en la Figura 3:

=MAX(IF(A2:A13=D1,B2:B13))

Una vez que escribas esta fórmula asegúrate de escribir Ctrl-Mayúsculas-Enter para que Excel sepa que es una fórmula de matriz. Si simplemente pulsas Intro, Excel devolverá cero como resultado. Las fórmulas de matriz permiten realizar cálculos sofisticados que de otra manera no serían posibles dentro de una sola celda de la hoja de trabajo.

Una vez que se tiene el concepto, es fácil usar esta técnica con otras funciones, como encontrar el valor más pequeño para el mes de enero. Excel no tiene una función MINIF, pero puedes transformar la función MIN de la misma manera que hicimos la función MAX:

=MIN(IF(A2:A13=D1,B2:B13))

Figura 3: Excel no tiene una función MAXIF, pero se puede incorporar una sentencia IF con la función MAX.