al final voy a usar una mescla de las respuestas
Código PHP:
<?
$todo = array($var1, $var2, $var3, $var4);
$ceros = array_count_values($todo);
$promedio = array_sum($todo)/(count($todo)-$ceros[0]);
$promedio2 = sprintf ("%01.2f", $promedio);
echo $promedio2;
?>
aunque es cierto que hay que usar un 0 cuando no hay nota eso me parece (por lo pronto un problema menor)
Gracias de nuevo