Formule Excel: référence de classeur dynamique -

Table des matières

Formule générique

=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)

Sommaire

Pour créer une référence de feuille de calcul dynamique - une référence à un autre classeur qui est créé avec une formule basée sur des variables qui peuvent changer - vous pouvez utiliser une formule basée sur la fonction INDIRECT.

Dans l'exemple illustré, la formule en E6 est:

=INDIRECT("'("&B6&")"&C6&"'!"&D6)

Explication

L'essentiel de cette formule consiste à créer une référence complète à une plage dans un autre classeur sous forme de texte, puis à utiliser la fonction INDIRECT pour convertir le texte en référence réelle.

Une référence à une feuille de calcul externe ressemble à ceci:

'(exemple de données.xlsx) Feuille1'! A1

Notez les crochets (()) autour du nom du classeur, les guillemets simples ('') autour de la feuille de calcul + feuille et le point d'exclamation (!) Qui suit.

Pour créer une référence comme celle-ci à l'aide de texte, nous utilisons la concaténation pour joindre les valeurs des colonnes B, C et D avec les crochets, guillemets et points d'exclamation requis:

=INDIRECT("'("&B6&")"&C6&"'!"&D6)

Le résultat est introduit dans INDIRECT en tant que ref_text:

=INDIRECT("'(sample data.xlsx)Sheet1'!A1")

La fonction INDIRECT évalue ensuite le texte et le convertit en référence. Excel suit la référence et renvoie la valeur à la référence donnée.

Remarque: si la référence n'est pas valide ou si le classeur référencé n'est pas ouvert, INDIRECT lancera une erreur #REF. Vous pouvez attraper cette erreur avec la fonction IFERROR et afficher un résultat personnalisé si vous le souhaitez.

Articles intéressants...