Petites question tient, vous préférez quoi du coup, pour ce cas précis, une formule matricielle, ou une macro, ou une macro qui fabrique une fonction?
Ce qui est le moins lourd pour le classeur.
Une macro qui se lance en une fois et inscrit les résultats dans des cellules peut-être privilégiée si elle vient en remplacement de milliers de formules.
On y gagne généralement en temps de calcul, d'exécution et de taille du fichier (je parles bien de milliers de formules, surtout dans le cas de matricielles).
Une fonction personnalisée par macro n'existe que pour les cas :
> ou ce type de fonction ne peut être réalisée via des formules classiques, (ce n'est clairement pas le cas ici)
> ou les formules "classiques matricielles" seraient trop lourdes, (c'est peut-être le cas ici)
> de méconnaissance des formules Excel...
Après, VBA nécessite des connaissances pour adapter...
Les formules Excel aussi...
Tout dépend donc du contexte...