Formule Excel: obtenir la valeur de la dernière cellule non vide -

Formule générique

=LOOKUP(2,1/(A:A""),A:A)

Sommaire

Pour trouver la valeur de la dernière cellule non vide d'une ligne ou d'une colonne, vous pouvez utiliser la fonction LOOKUP dans cette formule étonnamment compacte. En prime, cette formule n'est pas une formule matricielle et n'est pas volatile.

Explication

La clé pour comprendre cette formule est de reconnaître que la valeur lookup_value de 2 est délibérément plus grande que toute valeur qui apparaîtra dans le lookup_vector.

  1. L'expression A: A "" renvoie un tableau de valeurs vraies et fausses: (TRUE, FALSE, TRUE,…).
  2. Le nombre 1 est ensuite divisé par ce tableau et crée un nouveau tableau composé de 1 ou de division par zéro erreur (# DIV / 0!): (1,0,1,…). Ce tableau est le lookup_vector.
  3. Lorsque lookup_value ne peut pas être trouvé, LOOKUP correspond à la plus petite valeur suivante.
  4. Dans ce cas, la valeur lookup_value est 2, mais la plus grande valeur de lookup_array est 1, donc lookup correspondra au dernier 1 du tableau.
  5. LOOKUP renvoie la valeur correspondante dans result_vector (c'est-à-dire la valeur à la même position).

Gérer les erreurs

S'il y a des erreurs dans le lookup_vector, en particulier s'il y a une erreur dans la dernière cellule non vide, cette formule doit être ajustée. Cet ajustement est nécessaire car les critères "" renverront eux-mêmes une erreur si une cellule contient une erreur. Pour contourner ce problème, utilisez ISBLANK avec NOT:

=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)

Dernière valeur numérique

Pour obtenir la dernière valeur numérique, vous pouvez ajouter la fonction ISNUMBER comme ceci:

=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)

Position de la dernière valeur

Si vous souhaitez obtenir la position (dans ce cas, le numéro de ligne) de la dernière valeur, vous pouvez essayer une formule comme celle-ci:

=LOOKUP(2,1/(A:A""),ROW(A:A))

Ici, nous introduisons les numéros de ligne de la même plage dans la recherche du vecteur de résultat et récupérons le numéro de ligne de la dernière correspondance.

Articles intéressants...