Excel-formule: alleen berekenen indien niet leeg -

Inhoudsopgave

Generieke formule

=IF(criteria,formula(),"")

Samenvatting

Als u een formule alleen wilt uitvoeren als een of meer cellen niet leeg zijn, kunt u de ALS-functie gebruiken met de juiste logische criteria. In het getoonde voorbeeld is de formule in E5:

=IF(COUNT(C5:C7)=3,SUM(C5:C7),"")

Omdat C7 geen waarde heeft in het bovenstaande scherm, geeft de formule geen resultaat. In het onderstaande scherm bevat C7 een getal en wordt de som weergegeven:

Uitleg

Het doel van dit voorbeeld is om de invoer te verifiëren voordat een resultaat wordt berekend. Het belangrijkste punt om te begrijpen is dat elke geldige formule kan worden vervangen. De SOM-functie wordt alleen als voorbeeld gebruikt. De logica kan ook op veel manieren worden aangepast aan de situatie.

In het getoonde voorbeeld gebruiken we de ALS-functie samen met de COUNT-functie. Het criterium is een uitdrukking gebaseerd op de COUNT-functie, die alleen numerieke waarden telt:

COUNT(C5:C7)=3 // returns TRUE or FALSE

Zolang het bereik drie getallen bevat (dwz dat alle 3 de cellen niet leeg zijn), is het resultaat WAAR en zal IF de functie SOM uitvoeren. Als dit niet het geval is, is het resultaat ONWAAR en geeft IF een lege tekenreeks ("") als resultaat. Omdat C7 geen waarde heeft in het bovenstaande scherm, geeft de formule geen resultaat.

Er zijn veel manieren om te controleren of er lege cellen zijn, en verschillende opties worden hieronder uitgelegd.

Met COUNTBLANK

De COUNTBLANK-functie telt lege cellen in een bereik, dus we kunnen een iets compactere formule als deze schrijven:

=IF(COUNTBLANK(C5:C7),"",SUM(C5:C7))

Als COUNTBLANK een willekeurig getal retourneert behalve nul, evalueert de ALS-functie als WAAR en retourneert niets (""). Als COUNTBLANK nul retourneert, evalueert IF als FALSE en retourneert de som.

Met ISBLANK

In het weergegeven voorbeeld bevinden de invoercellen zich allemaal in hetzelfde aaneengesloten bereik. In gevallen waarin cellen niet bij elkaar zijn, kunt u een formule als volgt gebruiken:

=IF(OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)),"",SUM(C5:C7))

In dit voorbeeld wordt een letterlijke benadering gevolgd met de functie ISBLANK. Omdat we alle drie de cellen tegelijkertijd willen controleren, moeten we ISBLANK drie keer gebruiken in de OR-functie. Dit is de logische test binnen IF:

OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)

Als OR WAAR retourneert (ten minste één cel is leeg), geeft IF een lege tekenreeks ("") als resultaat. Als OR ONWAAR retourneert (geen cellen zijn leeg), voert IF de functie SOM uit en retourneert het resultaat:

SUM(C5:C7)

Met logische operatoren

De functie ISBLANK kan als volgt worden vervangen door standaard logische operatoren:

=IF(OR(C5="",C6="",C7=""),"",SUM(C5:C7))

Als alternatief kunnen we de operator niet gelijk aan () combineren met de functie AND als volgt:

=IF(AND(C5"",C6"",C7""),SUM(C5:C7),"")

Merk op dat de SOM-functie is verplaatst naar het TRUE-resultaat. Het werkt alleen als C5 en C6 en C5 niet leeg zijn.

Met COUNTA

Ten slotte kunt u de COUNTA-functie gebruiken om te controleren op numerieke of tekstinvoer:

=IF(COUNTA(C5:C7)=3,SUM(C5:C7),"")

Zolang het bereik C5: C5 drie waarden bevat (getallen of tekst), is het resultaat WAAR en wordt de functie SOM uitgevoerd. Dit is niet echt logisch voor het getoonde voorbeeld (waarvoor numerieke invoer vereist is), maar het kan in andere situaties worden gebruikt.

Interessante artikelen...