
Sommaire
La fonction Excel INDIRECT renvoie une référence valide à partir d'une chaîne de texte donnée. INDIRECT est utile lorsque vous souhaitez convertir une valeur de texte en une référence de cellule valide.
Objectif
Créer une référence à partir du texteValeur de retour
Une référence de feuille de calcul valide.Syntaxe
= INDIRECT (ref_text, (a1))Arguments
- ref_text - Une référence fournie sous forme de texte.
- a1 - (facultatif) Un booléen pour indiquer une référence de style A1 ou R1C1. La valeur par défaut est TRUE = style A1.
Version
Excel 2003Notes d'utilisation
La fonction INDIRECT renvoie une référence valide à partir d'une chaîne de texte donnée. INDIRECT est utile lorsque vous souhaitez convertir une valeur de texte en une référence de cellule valide. Par exemple, pour créer une référence à la cellule A1 à partir du texte, vous pouvez utiliser INDIRECT comme ceci:
=INDIRECT("A1") // returns reference to A1
L'objectif d'INDIRECT peut à première vue sembler déroutant (c'est-à-dire pourquoi utiliser du texte alors que vous pouvez simplement fournir une référence appropriée?), Mais il existe de nombreuses situations où la possibilité de créer une référence à partir d'un texte est utile, notamment:
- Une formule qui nécessite un nom de feuille variable
- Une référence fixe qui ne changera pas même lorsque des lignes ou des colonnes sont supprimées
- Création de tableaux numériques avec la fonction ROW dans des formules complexes
Remarque: INDIRECT est une fonction volatile et peut entraîner des problèmes de performances dans les feuilles de calcul volumineuses ou complexes.
Nom de la feuille de calcul variable
Dans l'exemple ci-dessus, INDIRECT est configuré pour utiliser un nom de feuille variable comme celui-ci:
=INDIRECT(B6&"!A1") // sheet name in B6 is variable
La formule dans B6, copiée vers le bas, renvoie la valeur de la cellule A1 dans les 5 premières feuilles en utilisant les noms de feuille entrés dans la colonne B. En d'autres termes, lorsqu'un nom de feuille différent est entré dans la colonne B, un nouveau résultat est renvoyé. Avec la même approche, vous pouvez permettre à un utilisateur de sélectionner un nom de feuille avec une liste déroulante, puis de construire une référence à la feuille sélectionnée avec INDIRECT.
Remarque: les noms de feuille contenant de la ponctuation ou des espaces doivent être placés entre guillemets simples ('), comme expliqué dans cet exemple. Ceci n'est pas spécifique à la fonction INDIRECT; la même chose est vraie dans toutes les formules.
Référence fixe
La référence créée par INDIRECT ne changera pas même lorsque des cellules, des lignes ou des colonnes sont insérées ou supprimées. Par exemple, la formule ci-dessous fera toujours référence aux 100 premières lignes de la colonne A, même si les lignes de cette plage sont supprimées ou insérées:
=INDIRECT("A1:A100") // will not change
Générer un tableau numérique
Une utilisation plus avancée d'INDIRECT consiste à créer un tableau numérique avec la fonction ROW comme ceci:
ROW(INDIRECT("1:10")) // create (1;2;3;4;5;6;7;8;9;10)
Un cas d'utilisation est expliqué dans cette formule, qui additionne les n dernières valeurs d'une plage.
Vous pouvez également rencontrer cette idée dans des formules plus complexes qui doivent assembler un tableau numérique "à la volée". Un exemple est cette formule, conçue pour supprimer les caractères numériques d'une chaîne.
Remarques
- Les références créées par INDIRECT sont évaluées en temps réel et le contenu de la référence est affiché.
- Lorsque ref_text est une référence externe à un autre classeur, le classeur doit être ouvert.
- a1 est facultatif. Lorsqu'il est omis, a1 est TRUE = référence de style A1.
- Lorsque a1 est défini sur FALSE, INDIRECT crée une référence de style R1C1.
- INDIRECT est une fonction volatile et peut entraîner des problèmes de performances.
Vidéos connexes


