Excel formule met een actie bij oneven getallen

Pagina: 1
Acties:

  • NickEsh
  • Registratie: November 2015
  • Laatst online: 10-12-2015
Beste leden van tweakers,
dit is mijn eerste post dus ik hoop dat alles goed gaat en duidelijk is.

Ik ben in excel bezig met de volgende formule:
=ALS(AFRONDEN.BOVEN(D16/1706,9;2)=EVEN,''=((AFRONDEN.BOVEN(D16/1706,9;2))-1)'';''=(AFRONDEN.BOVEN(D16/1706,9;2))'')


mijn bedoeling hiervan is dat als de uitkomst van: (AFRONDEN.BOVEN(D16/1706,9;2) oneven is dat de cel dan de afgeronde uitkomst -1 weergeeft (weer een even getal), en als de uitkomst van (AFRONDEN.BOVEN(D16/1706,9;2) een even getal is, dat die uitkomst dan gewoon blijft staan.


daarnaast ben ik ook opzoek naar een formule voor de cel daaronder die aangeeft als de uitkomst van (AFRONDEN.BOVEN(D16/1706,9;2) oneven is, dan het volgende weergeeft:=1706.9/2 en wanneer de afgeronde uitkomst even is 0 weergeeft.

alvast bedankt
gr Nick

Acties:
  • +1 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 07-06 17:00

skate master

Autodesk Educator Expert

Het is handig als je even vermeld wat er niet werkt aan je formule, nu is het voor ons gokken wat er niet werkt.

Ik denk dat je even de formule rest moet bekijken.
Uit mijn hoofd wordt jou formule dan:
code:
1
=ALS(REST(AFRONDEN.BOVEN(D16/1706,9;2);2)=0;((AFRONDEN.BOVEN(D16/1706,9;2))-1);(AFRONDEN.BOVEN(D16/1706,9;2)))

Acties:
  • +1 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 01-06 18:50

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • +1 Henk 'm!

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

skate master schreef op donderdag 12 november 2015 @ 21:19:
Het is handig als je even vermeld wat er niet werkt aan je formule, nu is het voor ons gokken wat er niet werkt.

Ik denk dat je even de formule rest moet bekijken.
Uit mijn hoofd wordt jou formule dan:
code:
1
=ALS(REST(AFRONDEN.BOVEN(D16/1706,9;2);2)=0;((AFRONDEN.BOVEN(D16/1706,9;2))-1);(AFRONDEN.BOVEN(D16/1706,9;2)))
de rest zoeken is makkelijker met mod

=MOD(10;7)
=3


oh wacht nederlands .... lol

[ Voor 3% gewijzigd door Fish op 12-11-2015 21:51 ]

Iperf


Acties:
  • +1 Henk 'm!

  • skate master
  • Registratie: September 2004
  • Laatst online: 07-06 17:00

skate master

Autodesk Educator Expert

Rest is de Nederlandse variant van mod.

De formules van Nme zijn inderdaad praktischer.
Aan NickEsh om te bepalen wat hij wil gebruiken.

Acties:
  • +1 Henk 'm!

  • Pandorian
  • Registratie: April 2006
  • Laatst online: 09-06 16:06
zoiets:?
=ALS(IS.EVEN(AFRONDEN.BOVEN(D16/1706,9;2));AFRONDEN.BOVEN(D16/1706,9;2);-1)

en voor de tweede:
=ALS(E17=-1;"=1706.9/2";0)

(waar het resultaat van de eerste berekening in E17 staat.)

Wat ben ik slecht in een nederlandse Excel.....

Acties:
  • +1 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Ik snap er niks van:
NickEsh schreef op donderdag 12 november 2015 @ 19:52:
mijn bedoeling hiervan is dat als de uitkomst van: (AFRONDEN.BOVEN(D16/1706,9;2) oneven is
Dat zal dus nooit gebeuren: je rond af op veelvouden van 2 en die zijn per definitie even. ;)
dat de cel dan de afgeronde uitkomst -1 weergeeft (weer een even getal), en als de uitkomst van (AFRONDEN.BOVEN(D16/1706,9;2) een even getal is, dat die uitkomst dan gewoon blijft staan.
Wat ik dan begrijp is dat je als volgt wilt afronden op even getallen.

0<n<=1 => n=0
1<n<=2 => n=2

Dan voldoet
code:
1
=afronden.boven(n-1;2)


en bij

0<n=1 => n=0
1<=n<=2 => n=2
voldoet
code:
1
=AFRONDEN.N.VEELVOUD(n;2)


Zonder resten en alsen. ;)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • NickEsh
  • Registratie: November 2015
  • Laatst online: 10-12-2015
Allemaal bedankt voor de reacties, ik ben er uitgekomen het is uiteindelijk dit geworden:

formule 1
=ALS(IS.ONEVEN((AFRONDEN(D16/(1706.9);2)))=WAAR;(AFRONDEN(D16/(1706.9);2)-1);(AFRONDEN(D16/(1706.9);2)))

formule 2
=ALS(IS.ONEVEN((AFRONDEN(D16/(1706.9);2)))=WAAR;((1706.9/2);0)

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Ik ben toch wel benieuwd geworden waarvoor je deze constructie nodig hebt.

Anyway, het eerste deel (de als-toets) kan een stuk korter. Omdat is.even() alle cijfers na de komma negeert én altijd al waar of onwaar teruggeeft zijn onderstaande functies exact gelijk:

code:
1
2
3
IS.ONEVEN((AFRONDEN(D16/(1706.9);2)))=WAAR

IS.ONEVEN(D16/1706.9)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1