Eksempler på Sandhedstabeller

Betinget logik involverer brugen af såkaldte Boolske operatorer (AND og OR med flere)og resultatet er typisk et Boolsk resultat, dvs.  Sand (TRUE) eller falsk (FALSE). Der er dog også mulighed for at teste på om noget er numerisk, er Null (tom), mangler osv. Det giver nogle specielle muligheder.

 

Man kan opstille en såkaldt ”Sandhedstabel” for de forskellige boolske operatorer (Når Null er en mulighed ud over TRUE og FALSE, taler man om ”tre-værdi logik”. Dette forekommer sjældent i VBA, men forekommer hyppigere i andre sprog, fx SQL (et forespørgselssprog til databaser). Tre-værdi logik er derfor kun vist i et enkelt eksempel til sidst i artiklen.

 

Nedenfor ar vist nogle sandhedstabeller. De skal læses som om de består af to udsagn. Hvert udsagn kan være sandt, falsk eller Null (tomt) :

 

AND-Sandhedstabel

 

AND

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

NB! En "AND" er kun sand hvis begge udsagn er sande.

 

 

OR-sandhedstabel

 

OR

TRUE

FALSE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

Er OR er SAND hvis mindst ét af udsagnene sande.

 

 

XOR (Exclusive OR)  sandhedstabel.

 

XOR

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

NB! En Exclusive OR er kun sand, hvis netop et udsagnene er sande, men er falsk, hvis begge udsagn er sande.

 

Ligheds-Sandhedstabel

=

TRUE

FALSE

TRUE

TRUE

FALSE

FALSE

FALSE

TRUE

En LIGHED er sand, hvis de to udsagn har samme værdi, falsk hvis de er forskellige

 

Uligheds-sandhedstabel

¹

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

En ULIGHED er sand, hvis de to udsagn har forskellige værdier, men falsk, hvis de har samme værdi.

 

Eksempel på en sandhedstabel for funktionen ISNULL i VBA

AND

ISNULL

NOT ISNULL

<VÆRDI>

FALSE

TRUE

TRUE

FALSE

TRUE

FALSE

FALSE

TRUE

NULL

TRUE

FALSE

 

ISNULL er altid falsk, med mindre værdien faktisk er null, og omvendt er NOT ISNULL altid sand, med mindre udsagnet er NULL.

 

Eksempel på tre-værdilogik i end And sandhedstabel

 

AND-Sandhedstabel med treværdilogik

AND

TRUE

FALSE

NULL

TRUE

TRUE

FALSE

NULL

FALSE

FALSE

FALSE

NULL

NULL

NULL

NULL

NULL

NB! En "AND" er kun sand hvis begge udsagn er sande.

Resultatet bliver altid NULL, hvis bare et af udsagnene har en Null-værdi.

 

 

- Tilbage til Betinget logik -
- Tilbage til Programmering -
- Tilbage til makroer -
- Tilbage til Excel -