Menu

PROMEDIO.SI en Excel: promedio con una o varias condiciones

=PROMEDIO.SI(A2:A7;"North";C2:C7) promedia los valores de C2:C7 en las filas en las que la columna A es North. PROMEDIO.SI.CONJUNTO para varias condiciones, promedios sin ceros, cómo evitar #¡DIV/0!, y MAX.SI.CONJUNTO y MIN.SI.CONJUNTO.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=PROMEDIO.SI(A2:A7;"North";C2:C7) promedia las ventas de C2:C7 en las filas en las que la columna A es North. Funciona como SUMAR.SI, salvo que divide el total entre el número de filas que coinciden. En inglés las funciones se llaman AVERAGEIF y AVERAGEIFS, y la tabla muestra la fórmula así: =AVERAGEIF(A2:A7,"North",C2:C7). La tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).

Promedio con condición
F2
ABCDEF
1RegionProductSalesConditionAverage
2NorthApple120North90
3SouthPear45North, Apple80
4NorthPear110Over 50120
5EastApple55
6SouthApple195
7NorthApple40
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =PROMEDIO.SI(A2:A7;"North";C2:C7)

F2 promedia las tres filas de North, 120, 110 y 40, y muestra 90. F3 necesita dos condiciones, North y Apple, así que usa PROMEDIO.SI.CONJUNTO: (120 + 40) / 2 = 80. F4 no tiene un rango de promedio aparte, así que promedia las propias ventas que coinciden.

Sintaxis de PROMEDIO.SI y PROMEDIO.SI.CONJUNTO

=AVERAGEIF(range, criteria, [average_range])
=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

El orden de los argumentos es la misma trampa que en SUMAR.SI y SUMAR.SI.CONJUNTO: PROMEDIO.SI pone el rango que se promedia al final (y te deja omitirlo), PROMEDIO.SI.CONJUNTO lo pone al principio. Los criterios se escriben igual en las dos: "North", ">50", "<>0", "*apple*", o un operador unido a una celda, ">"&F5. Las celdas vacías y el texto del rango que se promedia se saltan.

Promedio sin contar los ceros

PROMEDIO (AVERAGE en inglés) cuenta un 0 como un valor, así que dos alumnos ausentes con una nota de 0 bajan el promedio de la clase. Las celdas vacías son distintas: PROMEDIO las salta. =PROMEDIO.SI(B2:B7;"<>0") salta también los ceros.

Promedio sin ceros
E3
ABCDE
1StudentScoreMethodResult
2Ana80AVERAGE48
3Ben0Ignore zeros80
4Cara90Count of zeros2
5DanCount of numbers5
6Eva70
7Finn0
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =PROMEDIO.SI(B2:B7;"<>0")

PROMEDIO divide 240 entre 5, porque la celda vacía de Dan queda fuera pero los dos ceros se cuentan, y muestra 48. PROMEDIO.SI con "<>0" divide 240 entre 3 y muestra 80. Escribe 60 en B5 y los dos cambian; escribe 0 en B5 y solo cambia PROMEDIO. Para dejar fuera también los números negativos, usa ">0".

Por qué PROMEDIO.SI devuelve #¡DIV/0!

Cuando nada coincide, PROMEDIO.SI no tiene entre qué dividir y devuelve #¡DIV/0! (#DIV/0! en inglés; la tabla muestra los nombres de error en inglés). Envuélvela en SI.ERROR para mostrar un guion, un mensaje o una celda vacía en su lugar.

Sin coincidencias, y MAX.SI.CONJUNTO y MIN.SI.CONJUNTO
F2
ABCDEF
1RegionProductSalesFormulaResult
2NorthApple120West average#DIV/0!
3SouthPear45With IFERRORNo sales
4NorthPear110North max120
5EastApple55North min40
6SouthApple195Apple max195
7NorthApple40
#DIV/0! La fórmula divide entre cero o entre una celda vacía.En Excel en español: =PROMEDIO.SI(A2:A7;"West";C2:C7)

No hay ninguna fila de West, así que F2 muestra #DIV/0! y F3 muestra el mensaje. Cambia A3 a West y las dos muestran 45.

MAX.SI.CONJUNTO y MIN.SI.CONJUNTO

De F4 a F6 en la tabla anterior se encuentran el mayor y el menor valor con una condición. MAX.SI.CONJUNTO y MIN.SI.CONJUNTO (MAXIFS y MINIFS en inglés) usan el orden de PROMEDIO.SI.CONJUNTO, con el rango en el que se busca primero: =MAX.SI.CONJUNTO(C2:C7;A2:A7;"North") devuelve 120 y =MIN.SI.CONJUNTO(C2:C7;A2:A7;"North") devuelve 40. A diferencia de PROMEDIO.SI, devuelven 0 cuando nada coincide, no un error.

MAX.SI.CONJUNTO y MIN.SI.CONJUNTO necesitan Excel 2019 o posterior, o Microsoft 365. En Excel 2016 y anteriores, =MAX(SI(A2:A7="North";C2:C7)) hace lo mismo; pulsa Ctrl+Mayús+Entrar (Cmd+Mayús+Entrar en Mac) para introducirla en esas versiones.

Práctica: promedio con dos condiciones

Tu turno: promedio de la clase sin ausencias
F2
ABCDEF
1StudentClassScoreConditionAverage
2AnaA80Class A, no zeros
3BenB75
4CaraA0
5DanB60
6EvaA90
7FinnB0
8GusA70
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: Promedia las notas de la clase A, sin contar los ceros (alumnos ausentes). Escribe la fórmula en F2.

Promedio de promedios: un error habitual

Promediar los promedios de grupos de distinto tamaño da un promedio general equivocado. North tiene tres filas y South dos, así que cada fila de South pesa más de lo que debería en el promedio de los dos promedios.

Promedio de promedios
E4
ABCDE
1RegionSalesFormulaResult
2North120North90
3South45South120
4North110Average of the two105
5South195All rows102
6North40
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =PROMEDIO(E2:E3)

E4 muestra 105, y E5 el promedio real de las cinco filas, 102. Cuando los grupos tienen distinto tamaño, promedia las propias filas con un solo PROMEDIO.SI.CONJUNTO, o divide un SUMAR.SI.CONJUNTO entre un CONTAR.SI.CONJUNTO con las mismas condiciones:

=SUMIFS(B2:B6,A2:A6,"North")/COUNTIFS(A2:A6,"North")

En Excel en español: =SUMAR.SI.CONJUNTO(B2:B6;A2:A6;"North")/CONTAR.SI.CONJUNTO(A2:A6;"North").

Una nota ponderada por créditos o por cantidad es otro cálculo distinto: eso es un promedio ponderado.

Preguntas frecuentes

¿Qué diferencia hay entre PROMEDIO.SI y PROMEDIO.SI.CONJUNTO?

PROMEDIO.SI recibe una condición y pone el rango que se promedia al final: =PROMEDIO.SI(A2:A7;"North";C2:C7). PROMEDIO.SI.CONJUNTO recibe varias condiciones y pone el rango que se promedia al principio: =PROMEDIO.SI.CONJUNTO(C2:C7;A2:A7;"North";B2:B7;"Apple").

¿Cómo saco un promedio en Excel sin contar los ceros?

Usa =PROMEDIO.SI(B2:B7;"<>0"). Promedia solo las celdas que no son 0. PROMEDIO y PROMEDIO.SI ya dejan fuera las celdas vacías, así que solo los ceros de verdad necesitan la condición.

¿Por qué PROMEDIO.SI devuelve #¡DIV/0!?

Ninguna celda cumplió la condición, así que Excel divide una suma de 0 entre un conteo de 0. Envuélvela para mostrar otra cosa: =SI.ERROR(PROMEDIO.SI(A2:A7;"West";C2:C7);"No data").

¿Cómo encuentro el valor máximo con una condición?

Usa MAX.SI.CONJUNTO, con el rango en el que se busca primero: =MAX.SI.CONJUNTO(C2:C7;A2:A7;"North") devuelve el mayor valor de North. MIN.SI.CONJUNTO funciona igual para el menor. Las dos necesitan Excel 2019 o posterior, o Microsoft 365.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR