![](https://cdn.wiki-base.com/5026748/excel_formula_if_not_blank_multiple_cells__2.png.webp)
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"))))