Formule Excel: obtenir l'adresse de la plage nommée -

Table des matières

Formule générique

=ADDRESS(ROW(nr),COLUMN(nr))&":"&ADDRESS(ROW(nr)+ROWS(nr)-1,COLUMN(nr)+COLUMNS(nr)-1)

Sommaire

Pour obtenir l'adresse complète d'une plage nommée avec une formule Excel, vous pouvez utiliser la fonction ADRESSE avec les fonctions ROW et COLUMN. Dans l'exemple illustré, la formule en G5 est:

=ADDRESS(ROW(data),COLUMN(data),4)&":"&ADDRESS(ROW(data)+ROWS(data)-1,COLUMN(data)+COLUMNS(data)-1,4)

où "data" est la plage nommée B5: D10

Explication

Le cœur de cette formule est la fonction ADRESSE, qui est utilisée pour renvoyer une adresse de cellule basée sur une ligne et une colonne données. Malheureusement, la formule se complique un peu car nous devons utiliser ADDRESS deux fois: une fois pour obtenir l'adresse de la première cellule de la plage et une fois pour obtenir l'adresse de la dernière cellule de la plage. Les deux résultats sont joints par concaténation et l'opérateur de plage (:) et la plage complète sont renvoyées sous forme de texte.

Pour obtenir la première cellule de la plage, nous utilisons cette expression:

=ADDRESS(ROW(data),COLUMN(data))

ROW renvoie le premier numéro de ligne associé à la plage, 5 *.

COLUMN renvoie le premier numéro de colonne associé à la plage, 2.

Avec abs_num mis à 4 (relatif), ADDRESS renvoie le texte "B5".

=ADDRESS(5,2,4) // returns "B5"

Pour obtenir la dernière cellule de la plage, nous utilisons cette expression:

=ADDRESS(ROW(data)+ROWS(data)-1,COLUMN(data)+COLUMNS(data)-1,4)

Voir cette page pour une explication détaillée.

Essentiellement, nous suivons la même idée que ci-dessus, en ajoutant des mathématiques simples pour calculer la dernière ligne et la dernière colonne de la plage, qui sont alimentées comme précédemment dans ADDRESS avec abs_num mis à 4. Cela se réduit à l'expression suivante, qui renvoie le texte " D10 ":

=ADDRESS(10,4,4) // returns "D10"

Les deux résultats sont concaténés avec deux points pour obtenir une adresse de plage finale sous forme de texte:

="B5"&":"&"D10" ="B5:D10

Plage nommée d'une autre cellule

Pour obtenir une adresse pour une plage nommée dans une autre cellule, vous devrez utiliser la fonction INDIRECT. Par exemple, pour obtenir l'adresse d'un nom en A1, vous utiliseriez:

=ADDRESS(ROW(INDIRECT(A1)),COLUMN(INDIRECT(A1)))&":"&ADDRESS(ROW(INDIRECT(A1))+ROWS(INDIRECT(A1))-1,COLUMN(INDIRECT(A1))+COLUMNS(INDIRECT(A1))-1)

Définissez abs_num sur 4 dans ADDRESS pour obtenir une adresse relative.

* En fait, dans tous les cas où nous utilisons ROW et COLUMN avec une plage nommée à plusieurs cellules, nous récupérerons un tableau de nombres au lieu d'une seule valeur. Cependant, comme nous n'utilisons pas de formule matricielle, le traitement est limité au premier élément de ces tableaux.

Articles intéressants...