La syntaxe exacte d’agregat()
Dans notre article du 13
novembre, nous n’avions présenté pour simplifier que la première syntaxe de la
fonction agregat(). En fait, comme nous le voyons dans la copie d’écran
ci-dessous montrant trois extraits de l'aide de Microsoft, cette fonction possède deux syntaxes.
Comme c’est très souvent le
cas dans l’aide de Microsoft, la syntaxe proposée est foireuse…
En effet, si vous utilisez la
première syntaxe proposée par Microsoft avec par exemple =agregat(14;6;$A$1:$A$10;)
en omettant donc le [k] censé être facultatif mais en gardant le
« ; » qui le précède, vous obtiendriez une erreur !
Si l'on voulait être précis, il faudrait
en fait écrire :
=agregat(n° fonction;n°
option;zone[;arg]) pour la première syntaxe
=agregat(n° fonction;n°
option;zone[;zone2[;zone3…]]) pour la seconde syntaxe
La seconde syntaxe est
réservée aux fonctions dont les numéros vont de 1 à 13, les fonctions qui n’ont
pas besoin d’un argument additionnel. Dans
ce cas, les arguments à partir du troisième peuvent identifier plusieurs zones.
Ainsi, la formule =agregat(1;6;$A$1:$A$10)
est-elle équivalente à =agregat(1;6;$A$1:$A$6;$A$7:$A$10).
La première syntaxe sert à
passer un argument supplémentaire à la fonction concernée, ce qui concerne
uniquement les fonctions de 14 à 19.
En conclusion, si le numéro
de fonction (le premier argument) est supérieur ou égal à 14, c’est la première
syntaxe qui est utilisée par Excel. S’il est inférieur ou égal à 13, c’est la
seconde syntaxe qui s’applique.
Contre-vérités trouvées sur
d’autres sites Excel
Sur certains sites que j’ai
consultés, il est affirmé que le troisième argument ne peut pas être une zone
en trois dimensions, c’est-à-dire un ensemble de matrices. C’est faux !
Faites-en donc l’expérience…
Sélectionnez trois matrices (en maintenant la touche [Ctrl] enfoncée), donnez
le nom « Jules » à cet ensemble de matrices – donc à une zone en
trois dimensions – puis utilisez la formule = agregat(1; 6;jules). Cela
fonctionne parfaitement bien !
Remarque – Vous pouvez à ce
sujet consulter l’article « Tutorial sur la fonction index() » du 9
mars 2011, qui illustre une utilisation d’une zone à trois dimensions…
Sur certains sites aussi, il
est affirmé que, pour les six dernières fonctions – qui requièrent un argument
supplémentaire –, les valeurs analysées doivent obligatoirement être dans une
plage continue. C’est faux aussi : il suffit pour cela d’utiliser un nom,
comme je l’ai fait ci-dessus avec Jules. Dans ce cas, on a accès non seulement
aux plages à trois dimensions, mais aussi aux plages discontinues à une ou à deux
dimensions.
0 Commentaire(s):
Enregistrer un commentaire
<< Accueil