Toon posts:

Excel - Voorwaardelijke opmaak bij 3 decimalen of meer.

Pagina: 1
Acties:

Onderwerpen

Vraag


  • aurelius142
  • Registratie: December 2014
  • Laatst online: 22-03 14:49
Goedemiddag,

Momenteel ben ik bezig met een Excel bestand met voorwaardelijke opmaak. Het doel hiervan is dat de cellen een kleurtje krijgen als er meer dan 2 decimalen in een kolom staan (ook al is dit niet zichtbaar door de cel eigenschappen).

Nu heb ik zelf al onderstaande formule geschreven:
=2<LENGTE(DEEL(C3-INTEGER(C3);3;3))

Heel plat gezegd trekt hij het hele getal van het totaal getal af, en telt hij de lengte van de cijfers na de komma.
Op zich werkt de formule deels. Alleen ik krijg bij bijvoorbeeld de getallen 4.03, 9.11, 10.72 (en nog een aantal met slechts 2 decimalen). Veel meer decimalen terug dan zou moeten kunnen. Ik heb de formule even per Kolom uitgeschreven en zie dat bij een aantal getallen, ondanks de voorwaarden, er toch meer decimalen terugkomen.



Kan iemand mij vertellen waar het mis gaat in mijn formule/denk wijze? :)

Beste antwoord (via aurelius142 op 05-02-2021 15:16)


  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 23-03 16:54

g0tanks

Moderator CSA
Het heeft te maken met de manier waarom Excel met getallen omgaat: Floating-point arithmetic may give inaccurate results in Excel

Ik weet niet of de volgende methode wel altijd werkt, maar wat je ook kan doen is zoeken naar de locatie van het scheidingsteken en dat getal aftreken van de lengte van het originele getal:

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW

Alle reacties


  • AGee
  • Registratie: December 2002
  • Niet online

AGee

Formerly known as naitsoezn

Da's het 'probleem' van floating points, zie o.a. https://docs.oracle.com/c...06-3568/ncg_goldberg.html of (in het Nederlands): Wikipedia: Zwevendekommagetal

Ik denk dat er geen oplossing te vinden is die universeel zal werken. Ik zou eens kijken hoe ver je komt als je het oorspronkelijke getal vermenigvuldigd met 100 en dan het verschil uitrekent tussen dat getal en een ROUND van dat getal. Dus als in A1 je getal staat, zou je kunnen kijken of 100*A1 - ROUND( 100*A1 ) gelijk is aan 0.

[Voor 76% gewijzigd door AGee op 05-02-2021 14:31]

't Het nog nooit, nog nooit zo donker west, of 't wer altied wel weer licht


Acties:
  • Beste antwoord
  • 0Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 23-03 16:54

g0tanks

Moderator CSA
Het heeft te maken met de manier waarom Excel met getallen omgaat: Floating-point arithmetic may give inaccurate results in Excel

Ik weet niet of de volgende methode wel altijd werkt, maar wat je ook kan doen is zoeken naar de locatie van het scheidingsteken en dat getal aftreken van de lengte van het originele getal:

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


  • aurelius142
  • Registratie: December 2014
  • Laatst online: 22-03 14:49
g0tanks schreef op vrijdag 5 februari 2021 @ 14:29:
Het heeft te maken met de manier waarom Excel met getallen omgaat: Floating-point arithmetic may give inaccurate results in Excel

Ik weet niet of de volgende methode wel altijd werkt, maar wat je ook kan doen is zoeken naar de locatie van het scheidingsteken en dat getal aftreken van de lengte van het originele getal:
[Afbeelding]
Dit lijkt te werken met mijn eerste test. @AGee @g0tanks Dank voor jullie hulp en informatie.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee