Formule Excel: adresse de la dernière cellule de la plage -

Table des matières

Formule générique

=ADDRESS(MAX(ROW(rng)),MAX(COLUMN(rng)))

Sommaire

Pour obtenir l'adresse de la dernière cellule d'une plage, vous pouvez utiliser la fonction ADRESSE avec les fonctions ROW, COLUMN et MAX. Dans l'exemple illustré, la formule en F5 est:

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

data est la plage nommée B5: D14.

Explication

La fonction ADRESSE crée une référence basée sur un numéro de ligne et de colonne donné. Dans ce cas, nous voulons obtenir la dernière ligne et la dernière colonne utilisées par les données de plage nommées (B5: D14).

Pour obtenir la dernière ligne utilisée, nous utilisons la fonction ROW avec la fonction MAX comme ceci:

MAX(ROW(data))

Étant donné que les données contiennent plus d'une ligne, ROW renvoie un tableau de numéros de ligne:

(5;6;7;8;9;10;11;12;13;14)

Ce tableau va directement à la fonction MAX, qui renvoie le plus grand nombre:

MAX((5;6;7;8;9;10;11;12;13;14)) // returns 14

Pour obtenir la dernière colonne, nous utilisons la fonction COLONNE de la même manière:

MAX(COLUMN(data))

Étant donné que les données contiennent trois lignes, COLUMN renvoie un tableau avec trois numéros de colonne:

(2,3,4)

et la fonction MAX renvoie à nouveau le plus grand nombre:

MAX((2,3,4)) // returns 4

Les deux résultats sont renvoyés directement à la fonction ADDRESS, qui construit une référence à la cellule de la ligne 14, colonne 4:

=ADDRESS(14,4) // returns $D$14

Si vous voulez une adresse relative au lieu d'une référence absolue, vous pouvez fournir 4 pour le troisième argument comme ceci:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)),4) // returns D14

Alternative à la fonction CELL

Bien que ce ne soit pas évident, la fonction INDEX renvoie une référence, nous pouvons donc utiliser la fonction CELL avec INDEX pour obtenir l'adresse de la dernière cellule dans une plage comme celle-ci:

=CELL("address",INDEX(data,ROWS(data),COLUMNS(data)))

Dans ce cas, nous utilisons la fonction INDEX pour obtenir une référence à la dernière cellule de la plage, que nous déterminons en passant le nombre total de lignes et le total de colonnes pour les données de plage dans INDEX. Nous obtenons le total des lignes avec la fonction ROWS et le total des colonnes avec la fonction COLUMNS:

ROWS(data) // returns 10 COLUMNS(data) // returns 3

Avec le tableau fourni sous forme de données, INDEX renvoie alors une référence à la cellule D14:

INDEX(data,10,3) // returns reference to D14

Nous avons ensuite la fonction CELL avec "adresse", pour afficher l'adresse.

Remarque: la fonction CELL est une fonction volatile qui peut entraîner des problèmes de performances dans les classeurs volumineux ou complexes.

Articles intéressants...