Para calcular el promedio de cada fila con una sola fórmula en Google Sheets, usa BYROW: =BYROW(B2:D,LAMBDA(fila,SI(CONTAR(fila)=0,"",PROMEDIO(fila)))) escribe en la columna E el promedio de B a D de cada alumno, también de los que agregues después. No sirve =ARRAYFORMULA(PROMEDIO(B2:D)): PROMEDIO es una función que resume y, aun dentro de ARRAYFORMULA, devuelve un solo número, el promedio de todo el bloque. Con ARRAYFORMULA sí puedes armar el promedio con operaciones fila a fila, como suma entre conteo.
Sintaxis
| Método | Fórmula (en E2) | Celdas vacías |
|---|---|---|
| BYROW | =BYROW(B2:D,LAMBDA(fila,SI(CONTAR(fila)=0,"",PROMEDIO(fila)))) | Se ignoran, como en PROMEDIO |
| ARRAYFORMULA con suma fija | =ARRAYFORMULA(SI(A2:A="","",(B2:B+C2:C+D2:D)/3)) | Cuentan como 0 |
| ARRAYFORMULA con conteo | =ARRAYFORMULA(SI(A2:A="","",(B2:B+C2:C+D2:D)/((B2:B<>"")+(C2:C<>"")+(D2:D<>"")))) | Se ignoran |
| BYROW ponderado (pesos en F1:H1) | =BYROW(B2:D,LAMBDA(fila,SI(CONTAR(fila)=0,"",SUMAPRODUCTO(fila,$F$1:$H$1)/SUMA($F$1:$H$1)))) | Cuentan como 0 |
LAMBDA(fila, …) define una fórmula que BYROW aplica a cada fila; fila es solo un nombre, puedes llamarla como quieras. BYROW, LAMBDA y ARRAYFORMULA se escriben en inglés aunque tus funciones estén en español.
Paso a paso
- Borra cualquier dato o fórmula de la columna donde irá el resultado (E2 hacia abajo): BYROW necesita la columna libre para desbordarse.
- En E2 escribe
=BYROW(B2:D,LAMBDA(fila,PROMEDIO(fila)))y pulsa Enter. - Verás #DIV/0! en las filas sin datos. Para ocultarlo, agrega la condición:
SI(CONTAR(fila)=0,"",PROMEDIO(fila)). - Escribe un alumno nuevo en la siguiente fila: su promedio aparece solo.
- Si la columna se llena desde un formulario de Google Forms, pon la fórmula en la fila 2 de una columna a la derecha de las respuestas o, mejor, en otra pestaña.
Ejemplos resueltos
Ejemplo 1: por qué la suma entre 3 falla con celdas vacías
Tres alumnos con calificaciones en B, C y D: Luis 9, 8 y 7; Sofía 6.5, 7 y vacía (aún no presenta el tercer parcial); Mateo 10, 9.5 y 9.
=ARRAYFORMULA(SI(A2:A="","",(B2:B+C2:C+D2:D)/3)) → Luis 8, Sofía 4.5, Mateo 9.5
Para Sofía, la celda vacía suma 0 y se divide entre 3. Con PROMEDIO(B3:D3) celda por celda tendría 6.75. Si quieres el promedio de lo que lleva, la versión con conteo de la tabla de sintaxis divide entre 2 y da 6.75.
Ejemplo 2: BYROW, igual que PROMEDIO fila por fila
Con los mismos datos:
=BYROW(B2:D,LAMBDA(fila,SI(CONTAR(fila)=0,"",PROMEDIO(fila)))) → Luis 8, Sofía 6.75, Mateo 9.5
BYROW llama a PROMEDIO una vez por fila, así que hereda todas sus reglas: ignora vacías y texto, cuenta los ceros. Las filas totalmente vacías del rango abierto devuelven "" gracias a la condición con CONTAR, y la columna queda limpia hasta el final de la hoja.
Ejemplo 3: promedio ponderado por fila
Los parciales pesan 30 %, 30 % y 40 %, escritos en F1:H1.
=BYROW(B2:D,LAMBDA(fila,SI(CONTAR(fila)=0,"",SUMAPRODUCTO(fila,$F$1:$H$1)/SUMA($F$1:$H$1))))
Luis: 9 × 0.3 + 8 × 0.3 + 7 × 0.4 = 7.9. Mateo: 3 + 2.85 + 3.6 = 9.45. Sofía obtiene 4.05, porque la celda vacía cuenta como 0 en SUMAPRODUCTO; si quieres su promedio parcial, divide entre la suma de los pesos de las celdas llenas: el resultado sería 4.05 / 0.6 = 6.75. Para un ponderado sin fila de pesos, también puedes usar AVERAGE.WEIGHTED dentro de LAMBDA.
Errores comunes
- ARRAYFORMULA(PROMEDIO(…)). Devuelve un único número. Las funciones que resumen (PROMEDIO, SUMA, CONTAR) no se reparten por filas.
- #REF! porque el resultado no puede expandirse. Hay algo escrito en la columna donde la fórmula necesita desbordarse; Sheets no lo sobrescribe. Bórralo.
- Encabezado dentro del rango.
BYROW(B1:D,…)incluye la fila de títulos; su «promedio» sale vacío o con error. Empieza en la fila 2. - Mezclar rangos de distinta altura.
(B2:B+C3:C)desalinea las filas y suma calificaciones de alumnos distintos. - Fórmulas lentas. BYROW sobre columnas abiertas en hojas con decenas de miles de filas puede tardar. Limita el rango (B2:D2000) si la hoja crece mucho.
Para revisar el promedio de un alumno, usa la calculadora de promedio de calificaciones. El promedio de una sola columna que crece se resuelve sin BYROW, con un rango abierto: promedio de una columna completa.