Promedio con condiciones en Google Sheets

Por el equipo de promedio.net · Actualizado el

En Google Sheets, PROMEDIO.SI y PROMEDIO.SI.CONJUNTO se escriben y se comportan igual que en Excel: =PROMEDIO.SI(A2:A,"MX-*",B2:B) promedia los importes de las claves que empiezan por «MX-». Lo que Sheets añade es la posibilidad de usar expresiones regulares con REGEXMATCH dentro de FILTER, útil para patrones que los comodines * y ? no cubren (varias opciones a la vez, mayúsculas exactas, dígitos). Esta página se centra en esas diferencias; la sintaxis completa de los criterios está en PROMEDIO.SI en Excel y PROMEDIO.SI.CONJUNTO en Excel.

Qué fórmula usar

NecesitasFórmula en Sheets
Una condición=PROMEDIO.SI(A2:A,"Norte",C2:C)
Varias condiciones a la vez (Y)=PROMEDIO.SI.CONJUNTO(C2:C,A2:A,"Norte",B2:B,">=100")
Una u otra (O)=PROMEDIO(FILTER(C2:C,(A2:A="Norte")+(A2:A="Sur")))
Patrón con expresión regular=PROMEDIO(FILTER(B2:B,REGEXMATCH(A2:A,"^(MX|CO)-")))
Distinguir mayúsculasREGEXMATCH distingue por defecto; PROMEDIO.SI no
Promedios por grupo en una tabla=QUERY(A1:C,"select A, avg(C) where A <> '' group by A",1)

Ojo con el orden de PROMEDIO.SI: en la ayuda de Google sus argumentos se llaman rango_criterios, criterio, [rango_promedio], el mismo orden que en Excel. En PROMEDIO.SI.CONJUNTO el rango a promediar va primero.

Paso a paso con REGEXMATCH

  1. Escribe el patrón que deben cumplir los textos: ^MX- (empieza por MX-), ^(MX|CO)- (empieza por MX- o CO-), -1\d\d$ (termina en un número de 100 a 199).
  2. Pruébalo en una columna auxiliar: =REGEXMATCH(A2,"^(MX|CO)-") debe devolver VERDADERO en las filas correctas.
  3. Pon esa condición, aplicada a toda la columna, como segundo argumento de FILTER: FILTER(B2:B,REGEXMATCH(A2:A,"^(MX|CO)-")).
  4. Envuélvela en PROMEDIO y pulsa Enter.
  5. Si ninguna fila cumple, FILTER devuelve #N/A; envuelve con SI.ERROR(…,"Sin datos").

Ejemplos resueltos

Los ejemplos usan esta tabla (A1:B8):

ClaveImporte
MX-101340
CO-220410
AR-310280
MX-145390
CL-400300
CO-215450
PE-120260

Ejemplo 1: comodín con PROMEDIO.SI

Importe promedio de las claves de México:

=PROMEDIO.SI(A2:A,"MX-*",B2:B) → (340 + 390) / 2 = 365

El asterisco acepta cualquier texto después de «MX-». Funciona igual que en Excel, también con rangos abiertos. Si agregas una fila con «MX-160», entra sola.

Ejemplo 2: dos países con una expresión regular

Importe promedio de las claves de México o Colombia:

=PROMEDIO(FILTER(B2:B,REGEXMATCH(A2:A,"^(MX|CO)-"))) → (340 + 410 + 390 + 450) / 4 = 397.5

Con PROMEDIO.SI necesitarías sumar y contar por separado cada país. La barra vertical | dentro de los paréntesis significa «o», y ^ obliga a que el patrón esté al inicio. El promedio de todas las claves es 347.14, así que estos dos países están por encima.

Las filas vacías del rango abierto no causan problema: REGEXMATCH sobre una celda vacía devuelve FALSO y FILTER la descarta.

Ejemplo 3: mayúsculas que importan

Alguien captura una nueva fila como «mx-130» con importe 330, en minúsculas.

  • =PROMEDIO.SI(A2:A,"MX-*",B2:B) la incluye: los criterios no distinguen mayúsculas. Resultado: (340 + 390 + 330) / 3 = 353.33.
  • =PROMEDIO(FILTER(B2:B,REGEXMATCH(A2:A,"^MX-"))) no la incluye: REGEXMATCH sí distingue. Resultado: 365.

Si quieres que la expresión regular ignore mayúsculas, empieza el patrón con (?i): "(?i)^mx-". Saber cuál de los dos comportamientos tienes evita que una captura descuidada cambie un reporte sin que nadie lo note.

Errores comunes

Para más detalle sobre FILTER (varias condiciones, columnas calculadas), lee promedio con FILTER; para promedios de muchos grupos a la vez, QUERY con avg(). La calculadora de promedio de ventas sirve para verificar un grupo concreto.