Toujours le même phénomène lorsqu'on pose un problème qui ne correspond pas exactement à celui qu'on cherche à résoudre...
D'abord, observation que la formule repose sur le décalage des plages d'une colonne, et que donc elle demeurait (théoriquement) applicable dès lors que les prix unitaires restaient dans des colonnes impaires et les recettes dans des paires (ou vice-versa).
Evidemment pour le vérifier, il fallait mettre la formule telle que fournie et adaptée et non une autre : SOMMEPROD accepte bien sûr des plages nommées, mais pas des plages multizones, or tes plages nommées sont multizones.
Ceci dit, il n'accepte pas non plus certains contenus... donc il faut revenir à une version de formulation plus prosaïque (antérieure à SOMMEPROD) :
=SOMME(SI($M$16:$GW$24=C60;$N$16:$GX$24))
Là la formule est matricielle et doit être validée avec la combinaison de touches Ctrl+Maj+Entrée
(elle s'encadrera d'accolades qui identifient son caractère matriciel).
Et elle fonctionne sur ton fichier.