
Generieke formule
=IF(A1"",A1,IF(B1"",B1,IF(C1"",C1,IF(D1"",D1,"no value"))))
Samenvatting
Als u meerdere cellen wilt testen en de waarde van de eerste niet-lege cel wilt retourneren, kunt u een formule gebruiken op basis van de ALS-functie. In het getoonde voorbeeld bevat kolom D de voltooiingsdatums van de taak. De formule in cel F5 is:
=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))
die een waarde retourneert uit de eerste niet-lege cel, respectievelijk B5, C5, D5 of E5. Als alle cellen leeg zijn, retourneert de formule "geen waarde". De waarde die wordt geretourneerd wanneer alle cellen leeg zijn, kan naar wens worden aangepast.
Uitleg
In Excel betekenen lege dubbele aanhalingstekens ("") een lege tekenreeks. Het symbool is een logische operator die 'niet gelijk aan' betekent, dus de volgende uitdrukking betekent 'A1 is niet leeg':
=A1"" // A1 is not empty
Deze uitdrukking wordt vier keer gebruikt in de formule die in het voorbeeld wordt getoond, om vier verschillende cellen in een bepaalde volgorde te testen.
De algemene structuur van deze formule is een zogenaamde "geneste ALS-formule". Elke IF-instructie controleert een cel om te zien of deze niet leeg is. Als deze niet leeg is, retourneert de ALS de waarde uit die cel. Als de cel leeg is, geeft de IF-instructie de verwerking over aan een andere IF-instructie:
=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))
De stroom van een geneste IF is gemakkelijker te visualiseren als u regeleinden aan de formule toevoegt. Hieronder zijn regeleinden aan de formule toegevoegd om de IF-statements uit te lijnen:
= IF(B5"",B5, IF(C5"",C5, IF(D5"",D5, IF(E5"",E5, "no value"))))
Met ISBLANK
Excel bevat de functie ISBLANK, die WAAR retourneert wanneer een cel leeg is:
=ISBLANK(A1) // A1 is blank
Het gedrag kan worden "omgekeerd" door de ISBLANK-functie in de NOT-functie te nesten:
=ISBLANK(A1) // A1 is not blank
De bovenstaande formule kan als volgt worden herschreven om ISBLANK te gebruiken:
=IF(NOT(ISBLANK(B5)),B5,IF(NOT(ISBLANK(C5)),C5,IF(NOT(ISBLANK(D5)),D5,IF(NOT(ISBLANK(E5)),E5,"novalue"))))