Si no hay celdas vacías entre medias creo que la 2ª fórmula que puse debería funcionar, con unas pequeñas modificaciones:
=MAX(SI.ERROR(SUBTOTALES(1;DESREF(A1;;FILA(INDIRECTO("1:"&COLUMNAS(B1:AX1)-19));;20));0))
que en este caso (si he metido bien los datos) devuelve 7,425 (AD1:AW1). Incluso es posible averiguar a partir de qué celda están las 20 consecutivas que arrojan el mejor promedio:
=DIRECCION(1;1+COINCIDIR(MAX(SI.ERROR(SUBTOTALES(1;DESREF(A1;;FILA(INDIRECTO("1:"&COLUMNAS(B1:AX1)-19));;20));0));SI.ERROR(SUBTOTALES(1;DESREF(A1;;FILA(INDIRECTO("1:"&COLUMNAS(B1:AX1)-19));;20));0);0))
(ambas fórmulas son obviamente matriciales)
Pero si hubiese celdas vacías creo que no quedaría otra que recurrir a VBA.
Saludos_