Hulp bij een formule in excel-opgelost

Vragen/antwoorden betreffende computer software.

Danny.
Lid geworden op: 15 mei 2003, 21:42
Locatie: Vlaams Brabant

22 okt 2023, 09:44

Hello iedereen, ik ben aan het zwemmen en ben bijna verdronken :)

In een excel database wil ik volgende formule omvormen zodat, als de uitkomst nul is, deze niet in de database te zien is.

De basis formule is =ALS(A2-A3=0;"";A2-A3) dus als de uitkomst 0 is, niets schrijven, anders de uitkomst schrijven, ik wil in plaats van niets te schrijven bij uitkomst 0 maar een - (een streepje)

Ik schrijf dus de volgende formule
=ALS((Q1754/O1754)*100)=0;”-“; (Q1754/O1754)*100)
Waarbij ik naar de kolommen Q en O verwijs, naar de rij 1754, en de waarden deel.
Daar ik de uitkomst in % wil zien vermenigvuldig ik het resultaat van de deling met 100
Maar excel geeft mij een fout.
Wat doe ik verkeerd?

Groetjes
Danny
Windows 11 Home 64-bit, Ram 8GB, Medion Akoya E23403 All-In-One, Microsoft Defender

franç
Lid geworden op: 10 jul 2003, 12:34

22 okt 2023, 10:54

De uitkomst van een deling is 0 als de teller 0 is, in jouw geval: als Q1754 0 is.
De foutmelding zal zich waarschijnlijk voordoen als O1754 (de noemer) gelijk is aan 0, want als de noemer van een deling 0 is, dan is (in de 'normale' wiskunde) de uitkomst van die deling onbepaald (en 'onbepaald' is absoluut niet hetzelfde als 0 !). Maar in Excel kun je wel een 0 of een streepje laten weergeven als de noemer (O1754) 0 is of als de uitkomst van de formule 0 is. Je moet dus vooraf even dit bepalen:
Wát moet er worden weergegeven als de uitkomst van de formule 0 is,
en
Wát moet er worden weergegeven als O1754 0 is (de noemer van de breuk) en er daardoor een foutmelding verschijnt.

Als je een liggend streepje wil weergeven als de uitkomst van de formule 0 is, dan kun je gebruiken:

Code: Selecteer alles

=ALS(Q1754=0;"-";Q1754/O1754*100)
Als je een liggend streepje wil weergeven als ofwel de teller (Q1754), ofwel de noemer (O1754) van de breuk 0 is, of als beide (dus zowel Q1754 als O1754) 0 zijn, kun je gebruiken:

Code: Selecteer alles

=ALS(OF(Q1754=0;O1754=0);"-";Q1754/O1754*100)
Als je alleen de foutmelding wil voorkomen, gebruik dan:

Code: Selecteer alles

=ALS(ISFOUT(Q1754/O1754);"-";Q1754/O1754*100)
NB1: Bij =ALS(A2-A3=0;"-";A2-A3) doet zich dat probleem niet voor, want daarin vindt er geen deling plaats. En de uitkomst van 0 - 0 = 0 (en dus niet 'onbepaald').
NB2: Let goed op welke aanhalingstekens je gebruikt. In jouw bericht zijn de aanhalingstekens in je eerste formule voor Excel de juiste ("), maar die in je tweede formule (”) niet.

E.T.
Lid geworden op: 11 nov 2008, 21:15

22 okt 2023, 11:16

misschien nog meegeven dat het minteken niet hetzelfde is als het liggend streepje

Danny.
Lid geworden op: 15 mei 2003, 21:42
Locatie: Vlaams Brabant

22 okt 2023, 16:10

ET, bedankt ik denk wel dat ik het liggend streepje gebruik, daar waar op de toets ook de underscore te vinden is (- _) .

Franç, die tweede formule past uitstekend.

Een beetje uitleg, ik prik mij elke morgen voor glucose bepaling (diabetisch).

Ik heb mij een polshorloge aangeschaft die die metingen kan doen zonder prikken, maar die zijn blijkbaar nog niet 100% te vertrouwen (is een Chinees voor nog geen 41€, veel kan ik niet bedrogen zijn want ik kan er toch het uur op zien :) ).

De metingen van die Chinees zijn in mmol/l en in België gebruiken ze mg/dl, er is een omrekening mogelijk namelijk mg/dl=mmol/l*18,0182, maar de uitkomst is % toch verschillend doch constant.

Ter info, ik ga nog enkele dagen de twee metingen gebruiken en als dat % verschil ook constat is, dan nog enkel die Chinees.

In de kolom O komt mijn geprikte waarde, dus in mg/dl
In de kolom P komt de mmol/l waarde.
In de kolom Q komt de mmol/*18,0182.
In de kolom R komt dan die (jouw) formule te staan, en dat werkt fantastisch waarvoor dank.

Groetjes

Danny

Groetjes

Danny
Windows 11 Home 64-bit, Ram 8GB, Medion Akoya E23403 All-In-One, Microsoft Defender