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