Formule Excel: obtenir les numéros de colonne relatifs dans la plage -

Formule générique

(=COLUMN(range)-COLUMN(range.firstcell)+1)

Sommaire

Pour obtenir un ensemble complet de numéros de colonnes relatifs dans une plage, vous pouvez utiliser une formule matricielle basée sur la fonction COLUMN.

Dans l'exemple illustré, la formule matricielle dans B4: H4 est:

(=COLUMN(B4:H4)-COLUMN(B4)+1)

Sur la feuille de calcul, cela doit être entré en tant que formule de tableau à cellules multiples en utilisant Ctrl + Maj + Entrée

Il s'agit d'une formule robuste qui continuera à générer des nombres relatifs même lorsque des colonnes sont insérées devant la plage.

Explication

La première fonction COLUMN génère un tableau de 7 nombres comme ceci:

(2,3,4,5,6,7,8)

La deuxième fonction COLUMN génère un tableau avec un seul élément comme celui-ci:

(2)

qui est ensuite soustrait du premier tableau pour donner:

(0,1,2,3,4,5,6)

Enfin, 1 est ajouté pour obtenir:

(1,2,3,4,5,6,7)

Avec une plage nommée

Vous pouvez adapter cette formule pour l'utiliser avec une plage nommée. Par exemple, dans l'exemple ci-dessus, si vous avez créé une plage nommée «données» pour B4: H4, vous pouvez utiliser cette formule pour générer des numéros de colonne:

(=COLUMN(data)-COLUMN(INDEX(data,1,1))+1)

Vous rencontrerez cette formule dans d'autres formules matricielles qui doivent traiter les données colonne par colonne.

Avec SEQUENCE

Avec la fonction SEQUENCE, la formule pour renvoyer des colonnes de lignes relatives pour une plage est simple:

=SEQUENCE(COLUMNS(range))

La fonction COLUMNS fournit le nombre de colonnes, qui est renvoyé à la fonction SEQUENCE. SEQUENCE construit alors un tableau de nombres, commençant par le nombre 1. Donc, en suivant l'exemple original ci-dessus, la formule ci-dessous renvoie le même résultat:

=SEQUENCE(COLUMNS(B4:H4)) // returns (1;2;3;4;5;6;7)

Remarque: la formule SEQUENCE est une nouvelle fonction de tableau dynamique disponible uniquement dans Excel 365.

Articles intéressants...