Formule Excel: si ce n'est pas vide, plusieurs cellules -

Table des matières

Formule générique

=IF(A1"",A1,IF(B1"",B1,IF(C1"",C1,IF(D1"",D1,"no value"))))

Sommaire

Pour tester plusieurs cellules et renvoyer la valeur de la première cellule non vide, vous pouvez utiliser une formule basée sur la fonction IF. Dans l'exemple illustré, la colonne D contient les dates d'achèvement des tâches. La formule dans la cellule F5 est:

=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))

qui renvoie une valeur de la première cellule non vide, respectivement B5, C5, D5 ou E5. Lorsque toutes les cellules sont vides, la formule renvoie «aucune valeur». La valeur renvoyée lorsque toutes les cellules sont vides peut être ajustée comme vous le souhaitez.

Explication

Dans Excel, les guillemets doubles vides ("") signifient une chaîne vide. Le symbole est un opérateur logique qui signifie "différent de", donc l'expression suivante signifie "A1 n'est pas vide":

=A1"" // A1 is not empty

Cette expression est utilisée quatre fois dans la formule présentée dans l'exemple, afin de tester quatre cellules différentes dans un ordre particulier.

La structure globale de cette formule est ce qu'on appelle une «formule IF imbriquée». Chaque instruction IF vérifie une cellule pour voir si elle n'est pas vide. S'il n'est pas vide, le IF renvoie la valeur de cette cellule. Si la cellule est vide, l'instruction IF transfère le traitement à une autre instruction IF:

=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))

Le flux d'un IF imbriqué est plus facile à visualiser si vous ajoutez des sauts de ligne à la formule. Ci-dessous, des sauts de ligne ont été ajoutés à la formule pour aligner les instructions IF:

= IF(B5"",B5, IF(C5"",C5, IF(D5"",D5, IF(E5"",E5, "no value"))))

Avec ISBLANK

Excel contient la fonction ISBLANK, qui renvoie TRUE lorsqu'une cellule est vide:

=ISBLANK(A1) // A1 is blank

Le comportement peut être "inversé" en imbriquant la fonction ISBLANK dans la fonction NOT:

=ISBLANK(A1) // A1 is not blank

La formule ci-dessus peut être réécrite pour utiliser ISBLANK comme suit:

=IF(NOT(ISBLANK(B5)),B5,IF(NOT(ISBLANK(C5)),C5,IF(NOT(ISBLANK(D5)),D5,IF(NOT(ISBLANK(E5)),E5,"novalue"))))

Articles intéressants...