Met behulp van een Exact Aantal cijfers

Henk gevraagd of er een manier Excel een getal met zes cijfers, onafhankelijk van de plaatsing van de decimale punt geven. Zo zou 0,1 weergegeven als 0,10000, 200 worden weergegeven als 200.000 en 25000 worden weergegeven als 25000,0.

Helaas is er geen opmaak dat de truc zal doen; alle scherm opmaak lijkt afhankelijk van de positie van de decimale punt te zijn. U kunt een display voor een specifiek aantal cijfers achter de komma te formatteren, maar dat aantal cijfers zal ongeacht hoeveel cijfers verschijnen voor de komma worden gebruikt.

Verschillende ExcelTips abonnees kwam met suggesties die betrekken met behulp van formules om het aantal weer te geven zoals gewenst. Zo zal de volgende formule de waarde A1 weergeven met zes cijfers:

= VAST (A1, IF (ABS (A1) <1,5,5-INT (LOG (ABS (A1)))), WAAR)

Andere lezers mits formules die zich op het omzetten van het nummer naar een tekenreeks en het tonen van het als zodanig. Het omzetten van een nummer zijn tekstuele equivalent heeft echter de uitgesproken nadeel niet langer in staat om het te gebruiken bij andere formules. (Herinner-is tekst dit moment geen getal.) Deze formule heeft niet beperking.

Als je wilde, kon je ook gebruik maken van een macro om de opmaak in een cel die een waarde bevat ingesteld. Het voordeel van een dergelijke macro is dat je niet een cel gebruiken voor een formule zoals hierboven getoond. Het nadeel van een macro is dat je moet onthouden om het uit te voeren op de cellen waar waarden binnen te veranderen. De volgende macro is een voorbeeld van een dergelijke benadering:

Sub SetFigures ()
Dim iDecimals As Integer
Dim bCommas zoals Van Boole
Dim sFormat als Koord
Dim cellRange als Waaier
Dim TestCell als Waaier

bCommas = False 'zoals gewenst wijzigen

Stel cellRange = Selection
Voor Elke TestCell In cellRange
Als Abs (TestCell.Value) <1 Toen
iDecimals = 5
Anders
iDecimals = 5 - Int (Log (Abs (TestCell.Value)) / Inloggen (10 #))
End If

sFormat = "0"
Als bCommas Dan sFormat = "#, ## 0"
Als iDecimals 0 Dan sFormat = sFormat & _
"." & String (iDecimals, "0")

TestCell.NumberFormat = sFormat
Volgende TestCell
End Sub

Om de macro te gebruiken, selecteert u de cellen die u wilt opmaken, nadien uitgevoerd. Elke cel in het geselecteerde bereik wordt ingesteld op zes cijfers weer te geven, tenzij het getal in de cel is te groot of te klein.

ExcelTips is uw bron voor kosteneffectieve Microsoft Excel training. Deze tip (10920) is van toepassing op Microsoft Excel 2007, 2010 en 2013. U kunt een versie van deze tip voor de oudere menu-interface van Excel hier vinden: Met behulp van een exacte aantal cijfers.