Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Calc vraag: if then else  (gelezen 524 keer)

Calc vraag: if then else
« Gepost op: 2023/01/11, 12:41:34 »
Ik zou graag in calc (in een vak/formule) een getal vergelijkend willen verifiëren en bij niet voldoen aan een eis aanpassen.
Zeg maar het programmerend if then or else.

Als X < 0 dan X = 0 (en bij X > 0 dan X = X)
Simpel gezegd, als een getal in de min gaat moet hij niet meetellen, en in de plus gewoon meerekenen.

Is dit mogelijk? Zo ja, hoe?

En werkt dit dan ook in excell als ik de sheet daarnaar converteer?
« Laatst bewerkt op: 2023/01/11, 12:47:56 door partyrabbit »
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Calc vraag: if then else
« Reactie #1 Gepost op: 2023/01/11, 14:40:01 »
in cel B1:

=IF (A1<0,0,A1)

met in cel A1 de waarde.
« Laatst bewerkt op: 2023/01/11, 14:42:01 door Wim Janssen »

Offline ajjp

  • Lid
Re: Calc vraag: if then else
« Reactie #2 Gepost op: 2023/01/11, 16:07:23 »
Volgens mij moet je ; gebruiken. Dus:
=IF(A1<0;0;A1)Als je Calc op Nederlands hebt ingesteld moet je i.p.v. IF ALS gebruiken.
En ja, dit werkt ook in Excel.

Re: Calc vraag: if then else
« Reactie #3 Gepost op: 2023/01/11, 17:14:16 »
Eej tof dat dit kan  =D Ik ga er later even mee stoeien welke het precies is.
Ik zit nu met niet ingevulde vakken, waardoor formules negatief gaan rekenen en het eindbedrag niet klopt en het geheel er niet uit ziet.

En kan dit ook in vakken waar al een formule staat?? En hoe plaats ik het dan?
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Calc vraag: if then else
« Reactie #4 Gepost op: 2023/01/11, 17:40:56 »
Functie verwerken al gevonden  =D

=ALS(C6<0;0;B5-B4) werkte niet.
Fout 552 bij leeg vak. Ik denk dat ik met < in een loop raakte. Dat het in te vullen vak deze controle niet over zichzelf uit kon voeren.
En bij ingevuld vak waar er juist een waarde zou moeten komen maakte hij er 0 van.

M.b.v. de F-assistent eruit gekomen. Met =.
Deze werkte
=ALS(B5=0;0;B5-B4)

Ben er uit. Bedankt voor jullie hulp!
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Calc vraag: if then else
« Reactie #5 Gepost op: 2023/01/12, 10:36:06 »
Volgens mij moet je ; gebruiken. Dus:
=IF(A1<0;0;A1)

Hangt blijkbaar af van versie, bij mij is het een komma.

Offline ajjp

  • Lid
Re: Calc vraag: if then else
« Reactie #6 Gepost op: 2023/01/12, 11:36:17 »
Citaat
Hangt blijkbaar af van versie, bij mij is het een komma.
Dat kan ik me bij nader inzien wel voorstellen. Of beter gezegd, niet van de versie, maar van de gekozen instelling.
Ik vermoed dat jij als instelling gekozen hebt voor de Angel-Saksische getalnotatie, waarbij het decimale scheidingsteken een punt is. Dan kun je een komma gebruiken als scheidingsteken in de opdracht. Maar in de Europese getalnotatie is de komma al in gebruik  als decimaal scheidingsteken, waardoor er in de opdracht voor een ander scheidingsteken gekozen moet worden. En dat is dan de punt-komma geworden.

Re: Calc vraag: if then else
« Reactie #7 Gepost op: 2023/01/12, 11:47:05 »
Kleine aanvullende tip, waar ik ook niet meer aan gedacht had, maar waarmee ik er snel uit was.
Gebruik de Functie assistent. De F knop links naast het formulevak. ;)
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Calc vraag: if then else
« Reactie #8 Gepost op: 2023/01/13, 11:17:52 »
Citaat
Hangt blijkbaar af van versie, bij mij is het een komma.
Dat kan ik me bij nader inzien wel voorstellen. Of beter gezegd, niet van de versie, maar van de gekozen instelling.

Klopt, dank voor de info!

Re: Calc vraag: if then else
« Reactie #9 Gepost op: 2023/01/24, 16:23:17 »
In elk geval ben ik er blij mee.
Heb deze functie inmiddels al verschillende keren toegepast, ook in oudere berekeningen om ze te vergemakkelijken/verbeteren.
Wel jammer dat er geen uitgebreide formules in het ALS commando verwerkt kunnen worden waardoor deze nu alsnog voorberekend moeten worden. Maar ik elk geval een stuk verder want nu veel verwerking in één vak terwijl er voorheen nog meer vakken voor nodig waren.
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Offline ajjp

  • Lid
Re: Calc vraag: if then else
« Reactie #10 Gepost op: 2023/01/24, 17:52:46 »
Citaat
Wel jammer dat er geen uitgebreide formules in het ALS commando verwerkt kunnen worden ...
Ik weet niet hoe uitgebreid je het wilt maken, maar kun je een voorbeeld geven van wat je wilt maar (vooralsnog) niet kan?

Re: Calc vraag: if then else
« Reactie #11 Gepost op: 2023/01/25, 14:15:43 »
Dank je.

Even een simpel actueel  ^-^ voorbeeldje dan. Berekening plafondprijs gas. (zie bijlage)
Deze zou moeten kloppen, maar geeft 'fout 510'.
=ALS(<1200;B2*B3;((B2-B1)*B4)+(B1*B3))In tekst:
ALS (<kleiner dan plafond ; dan verbruik * prijsonderplafond ; anders ((verbruik - plafond) * prijsbovenplafond) + (plafond*prijsonderplafond))
Details:
- Ook als je 1200 (test) vervangt voor B1 dan dezelfde fout.
- En ik heb ook al geprobeerd met een = voor de beide (dan & anders) formules, maar ook dan fout 510.
- Aantal haakjes klopt. Evenveel ) als (. Ik weet mede uit programeerervaring dat ook dat in balans moet zijn om geen foutmelding te krijgen.


Volgens mij zou deze formule zo moeten kloppen. :angel: Gegenereerd met assistent (zoals je ziet).
Maar ik denk dat hij in het ALS commando geen extra haakjes kan handlen buiten die van zichzelf (conflict?). En dus die berekeningen vooraf (ander extra vak) gedaan moeten worden (en dan lukt het wel).
« Laatst bewerkt op: 2023/01/25, 23:19:36 door partyrabbit »
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Calc vraag: if then else
« Reactie #12 Gepost op: 2023/01/25, 15:31:05 »
Moet de formule zo niet zijn:
=ALS(B2<B1;B2*B3;((B2-B1)*B4)+(B1*B3))
Allemaal Linux gerelateerde links op mijn website http://home.scarlet.be/jefdamen/Ubuntu.html
Mijn YouTube kanaal:http://www.youtube.com/user/asilnevs
https://jefdamen.wordpress.com/
We are spiritual beings having a human experience

Re: Calc vraag: if then else
« Reactie #13 Gepost op: 2023/01/25, 16:28:47 »
Moet de formule zo niet zijn:
=ALS(B2<B1;B2*B3;((B2-B1)*B4)+(B1*B3))

Jaaaa. Natuurlijk.  =D Er moet een uitgangspunt zijn voor de vergelijking. Ik ging er foutief vanuit dat de ALS dat was.

Nu weet ik in elk geval dat er wél formules verwerkt kunnen worden in de ALS-functie. Dat scheelt weer de nodige voorberekeningen en (onoverzichtelijke) extra vakken.

Wie zich bezig houdt met bijhouden van zijn energie-verbruik. Doe hier je voordeel mee.
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Offline ajjp

  • Lid
Re: Calc vraag: if then else
« Reactie #14 Gepost op: Gisteren om 20:18:06 »
Ik weet dat voor de TS de vraag beantwoord is, maar ter illustratie -uit het reële leven- hier de formule (met vijf maal ALS genesteld) die als uitkomst geeft met welk bedrag de bijverdiensten van een bijstandsgerechtigde verhoogd moeten worden als gevolg van hierover opgebouwd vakantiegeld.
=ALS(C4<825,46;0,08*C4;ALS((C4>=825,46)EN(C4<891,48);0,057*C4;ALS((C4>=891,48)EN(C4<893,98);0,08*C4-20,47;ALS((C4>=893,98)EN(C4<1687,18);0,08*C4-4,98;ALS((C4>=1687,18);0,0517*C4-3,22)))))Dit is de "vertaling" van een tabel uit de Normenbrief van de rijksoverheid: Artikel 11. Vakantieaanspraak voor personen jonger dan de
pensioengerechtigde leeftijd met inkomen uit tegenwoordige arbeid (https://www.rijksoverheid.nl/binaries/rijksoverheid/documenten/publicaties/2022/12/09/normenbrief-1-januari-2023/Normenbrief+1+januari+2023.pdf).
Vraag mij niet waarom het zo ingewikkeld is; ik volg slechts voor iemand anders of de gemeente de berekeningen correct uitvoert. Helaas soms niet.