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

Formule générique

=ADDRESS(MIN(ROW(range)),MIN(COLUMN(range)))

Sommaire

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

=ADDRESS(MIN(ROW(data)),MIN(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 première ligne et la première colonne utilisées par les données de plage nommées (B5: D14).

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

MIN(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 MIN, qui renvoie le plus petit nombre:

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

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

MIN(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 MIN renvoie à nouveau le plus grand nombre:

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

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

=ADDRESS(5,2) // returns $B$5

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(MIN(ROW(data)),MIN(COLUMN(data)),4) // returns B5

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 première cellule dans une plage comme celle-ci:

=CELL("address",INDEX(data,1,1))

Dans ce cas, nous utilisons la fonction INDEX pour obtenir une référence à la première cellule de la plage en donnant INDEX 1 pour le numéro de ligne et 1 pour le numéro de colonne, avec des données pour le tableau:

INDEX(data,1,1) // returns reference to B5

INDEX renvoie alors une référence à la cellule B5, et nous utilisons la fonction CELLULE 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...