Resumen —
AVERAGEIFSpromedia una columna, pero solo las filas que pasan todas las pruebas:=AVERAGEIFS(rango_promedio; rango_criterios1; criterios1; …). Comparte exactamente la gramática de criterios deSUMIFSyCOUNTIFS, pero tiene un comportamiento que te sorprenderá: cuando ninguna fila coincide,SUMIFSdevuelve 0 —AVERAGEIFSdevuelve#DIV/0!, porque no puedes promediar cero números. Protégelo conIFERROR. Dos cosas más muerden: promedia los ceros pero ignora las celdas en blanco (así que «faltante = 0» arrastra tu media hacia abajo sin avisar), y comoSUMIF/SUMIFS, las formas singular y plural invierten sus argumentos. Funciona en Excel 2007+.
=AVERAGEIFS(Score, Class, "A")
=IFERROR(AVERAGEIFS(Score, Class, "A", Score, ">"&G1), "n/d")
AVERAGEIFS es la tercera cara de la agregación condicional: SUMIFS totaliza,
COUNTIFS recuenta, AVERAGEIFS promedia. Si has leído las otras dos, ya
conoces el lenguaje de criterios — así que esta guía dedica su tiempo a las tres
cosas que hacen diferentes y peligrosos a los promedios, no a repetir la
sintaxis.
Nota: en una interfaz de Excel en español la función puede aparecer como PROMEDIO.SI.CONJUNTO. Equivalentes: AVERAGEIF = PROMEDIO.SI, SUMIFS = SUMAR.SI.CONJUNTO, COUNTIFS = CONTAR.SI.CONJUNTO, IFERROR = SI.ERROR, FILTER = FILTRAR, MEDIAN = MEDIANA, DATE = FECHA. Las fórmulas de abajo usan los nombres en inglés; el comportamiento es idéntico.
Lo que aprenderás
- El modelo mental: el motor de agregación condicional, ahora devolviendo una media
- La trampa estrella: conjunto vacío →
#DIV/0!, y el arreglo de un solo envoltorio - La trampa silenciosa: los ceros se promedian, las celdas en blanco se ignoran
- El orden de argumentos invertido en
AVERAGEIFvsAVERAGEIFS - Por qué
AVERAGEIFSno puede hacer un promedio ponderado — y qué usar en su lugar
El modelo mental: el mismo motor, devolviendo una media
AVERAGEIFS se queda con las filas donde pasan todas tus pruebas y devuelve su
promedio — SUMIFS de esas filas dividido entre COUNTIFS de esas filas. Esa
definición no es trivia; es la fuente de cada trampa de abajo. Los criterios
funcionan exactamente como en las funciones hermanas: operadores dentro de
comillas, ">"&G1 para comparar contra una celda, DATE() para límites de fecha
a prueba de idioma, Y de serie entre los pares.
' Promedio de la clase A
=AVERAGEIFS(Score, Class, "A")
' Promedio de la clase A, por encima del corte de G1 (Y)
=AVERAGEIFS(Score, Class, "A", Score, ">"&G1)
La trampa estrella: sin coincidencias significa #DIV/0!, no cero
Este es el único comportamiento que pilla a todo el mundo, y se sigue directamente
de «suma ÷ conteo». Si ninguna fila coincide, el conteo es 0, y dividir entre
cero es indefinido — así que AVERAGEIFS devuelve #DIV/0!. Compáralo con
sus hermanas sobre el mismo conjunto vacío:
=SUMIFS(Score, Class, "Z") ' -> 0 (una suma de nada es cero)
=COUNTIFS(Class, "Z") ' -> 0 (un conteo de nada es cero)
=AVERAGEIFS(Score, Class, "Z") ' -> #DIV/0! (una media de nada es indefinida)
Esa asimetría rompe los paneles: un resumen con SUMIFS sobrevive a una
categoría vacía, pero el AVERAGEIFS de al lado se enciende en rojo y se propaga
a cualquier cosa que lo referencie. El arreglo es decidir qué debería mostrar «sin
datos» y envolverlo:
=IFERROR(AVERAGEIFS(Score, Class, "A"), "n/d")
=IFERROR(AVERAGEIFS(Score, Class, "A"), "") ' en blanco, si lo prefieres
Haz de IFERROR un reflejo en cada AVERAGEIFS que alimente un informe o una
categoría que algún día pueda quedar vacía. No es paranoia defensiva — es la
diferencia entre que «aún sin ventas» se lea como n/d frente a una hoja rota.
La trampa silenciosa: los ceros cuentan, las celdas en blanco no
AVERAGEIFS ignora las celdas del rango de promedio que están en blanco o son
texto — no cuentan ni para el numerador ni para el denominador. Pero una
celda que contiene un 0 es un número real, así que sí se promedia, y
arrastra la media hacia abajo. Esto es una decisión de captura de datos
disfrazada de problema de fórmula:
Si un comercial no hizo ninguna venta y lo registras como 0, su cero se promedia. Si lo registras como en blanco, queda excluido por completo. La misma «sin ventas», dos promedios completamente distintos — y nada en la fórmula te dice cuál obtuviste.
Decide en el origen qué significa «faltante». Si los ceros deben excluirse del
promedio, o los dejas en blanco o añades un criterio que los filtre:
=AVERAGEIFS(Score, Class, "A", Score, "<>0"). La idea es hacer la elección
explícita en lugar de dejar que tu convención de captura de datos la decida en
silencio por ti.
El orden de argumentos invertido (la misma historia que SUMIF)
AVERAGEIF y AVERAGEIFS invierten sus argumentos exactamente igual que lo hacen
SUMIF y SUMIFS:
=AVERAGEIF(Class, "A", Score) ' rango de prueba primero, rango de promedio al final
=AVERAGEIFS(Score, Class, "A") ' rango de promedio PRIMERO, luego los pares de prueba
Misma trampa, mismo arreglo: usa AVERAGEIFS para todo. El orden es
consistente tengas una condición o cinco, y esquivas el cambio silencioso de
columna que viene de copiar entre las dos formas.
El criterio: AVERAGEIFS da una media simple, no una ponderada
Este es el error conceptual que sobrevive incluso después de que hayas dominado la
sintaxis. AVERAGEIFS promedia las celdas del rango de promedio — cada fila
que coincide cuenta por igual. No puede darte un promedio ponderado, donde
cada fila debería contar en proporción a una cantidad. El precio promedio entre
pedidos no es lo que los clientes pagaron en realidad; necesitas el precio
ponderado por la cantidad:
' Pregunta EQUIVOCADA: media simple de las celdas de precio
=AVERAGEIFS(Price, Region, "West")
' CORRECTO para una tarifa combinada: valor total ÷ cantidad total (ponderado)
=SUMIFS(Value, Region, "West") / SUMIFS(Qty, Region, "West")
«Media de las celdas que coinciden» y «tarifa combinada» son preguntas distintas,
y AVERAGEIFS solo responde la primera. El mismo límite se aplica a una
mediana o moda condicional — no existe MEDIANIFS; recurre a
FILTER y envuélvelo: =MEDIAN(FILTER(Score, Class="A")).
Cómo ayuda ExcelMaster
La parte peligrosa de un promedio condicional no es teclearlo — es saber que una
categoría vacía lanza #DIV/0!, que los ceros registrados sesgan la media, y que
«precio promedio» normalmente debería ser una tarifa ponderada. ExcelMaster
lee tu intención — el tamaño medio de operación del equipo Oeste este trimestre,
en blanco si no hay ninguna — y escribe el AVERAGEIFS protegido (o el
SUMIFS/SUMIFS ponderado cuando es eso lo que de verdad querías decir), para que
el número responda la pregunta que hiciste.
Preguntas frecuentes
¿Por qué AVERAGEIFS devuelve #DIV/0!?
Ninguna fila coincidió con tus criterios, así que no hay nada que promediar y
Excel no puede dividir entre un conteo de cero. Envuélvelo:
=IFERROR(AVERAGEIFS(…), "n/d"). A diferencia de SUMIFS (que devuelve 0 con un
conjunto vacío), AVERAGEIFS siempre da error cuando nada coincide.
¿AVERAGEIFS incluye los ceros en el promedio?
Sí. Una celda que contiene 0 es un número real y se promedia, bajando la media.
Las celdas en blanco y de texto se ignoran por completo. Si los datos «faltantes»
se guardan como 0 y no deberían contar, exclúyelos con un criterio:
=AVERAGEIFS(Score, Score, "<>0").
¿Cuál es la diferencia entre AVERAGEIF y AVERAGEIFS?
AVERAGEIF admite una condición con el rango de prueba primero; AVERAGEIFS
admite una o más con el rango de promedio primero — los argumentos están
invertidos. Usa siempre AVERAGEIFS para evitar el cambio silencioso.
¿Cómo hago un promedio ponderado con condiciones?
AVERAGEIFS no puede — pondera cada fila por igual. Divide un total condicional
entre un total condicional: =SUMIFS(Value, Region, "West") / SUMIFS(Qty, Region, "West").
¿Cómo promedio valores entre dos fechas?
Dos criterios sobre la columna de fechas, construidos con DATE():
=AVERAGEIFS(Amount, OrderDate, ">="&DATE(2026,1,1), OrderDate, "<="&DATE(2026,3,31)) — y envuélvelo en IFERROR por si la ventana queda vacía.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación 24-06-2026.
Guías relacionadas: Excel SUMIFS · Excel COUNTIFS · Excel FILTER · Excel UNIQUE
