Un argument "0" pour Index()
La fonction Index(), que nous avons présentée le 12 avril, possède une particularité : si l’argument de ligne est « 0 », toute la colonne est renvoyée comme résultat ; de même, si quand l’argument de colonne est « 0 », c’est toute la ligne qui est renvoyée.
Ainsi, dans le tableau ci-dessus, nous avons sélectionné le bloc G1:G10, saisi la formule =index(A1:C10;0;E2) puis validé cela en formule matricielle avec la combinaisons [Ctrl]-[Alt]-[Entrée], pour obtenir la liste des prénoms.
Il suffit de taper 2 ou 3 en E2 pour que cette liste soit remplacée automatiquement par celle des noms ou des salaires :
Certes, me direz-vous, pourquoi ne pas avoir entré en G1 une formule toute simple, non matricielle, telle que =index(A1:C1;E$2) que nous aurions alors pu benoîtement tirer vers le bas jusqu’en G10 ?
De fait, cela marche très bien et c’est même une meilleure solution si l’on ne souhaite obtenir que le résultat actuel. Pourquoi faire du matriciel quand on peut s’en passer ?
Cet exemple nous a simplement servi à montrer que l’index avec un argument à « 0 » renvoie une ligne ou une colonne entière. Il y a des cas – que nous verrons dans des rubriques ultérieures – où il faut utiliser cette solution car il n’y a pas comme ici de solution plus simple disponible.
Ainsi, dans le tableau ci-dessus, nous avons sélectionné le bloc G1:G10, saisi la formule =index(A1:C10;0;E2) puis validé cela en formule matricielle avec la combinaisons [Ctrl]-[Alt]-[Entrée], pour obtenir la liste des prénoms.
Il suffit de taper 2 ou 3 en E2 pour que cette liste soit remplacée automatiquement par celle des noms ou des salaires :
Certes, me direz-vous, pourquoi ne pas avoir entré en G1 une formule toute simple, non matricielle, telle que =index(A1:C1;E$2) que nous aurions alors pu benoîtement tirer vers le bas jusqu’en G10 ?
De fait, cela marche très bien et c’est même une meilleure solution si l’on ne souhaite obtenir que le résultat actuel. Pourquoi faire du matriciel quand on peut s’en passer ?
Cet exemple nous a simplement servi à montrer que l’index avec un argument à « 0 » renvoie une ligne ou une colonne entière. Il y a des cas – que nous verrons dans des rubriques ultérieures – où il faut utiliser cette solution car il n’y a pas comme ici de solution plus simple disponible.
3 Commentaire(s):
Merci pour tout vos précieux conseils.
Lorsqu'un sujet m'intéresse je m'empresse de l'expérimenter. Voilà que la formule matricielle décrite :
=index(A1:C10;0;E2)
nécessite $E$2 pour que la copie incrémentée cible toujours E2.
Et voilà elle marche à merveille.
Ce commentaire se veut constructif, voir plein d'admiration. . .
By Anonyme, sur 2:14 PM
J'espère que vous serez encore plus plein d'admiration quand vous constaterez que ma formule marche sans les dollars, telle que je l'ai décrite dans l'article !
By Hervé Thiriez, sur 4:05 PM
OUPS ! JE CONSERVE TOUTE MON ADMIRATION
En effet, votre formule fonctionne à merveille.
Mais cette fois j'ai utiliser la combinaison 'Ctrl+Shift+Enter' pour valider la formule.
Ce commentaire se veut toujours constructif et encore plus plein d'admiration, tel que vous l'avez prévu.
:)
By Anonyme, sur 6:34 PM
Enregistrer un commentaire
<< Accueil