Utilizzo di un numero esatto di cifre (Microsoft Excel)
Henk ha chiesto se esiste un modo in Excel per visualizzare un numero utilizzando sei cifre, indipendentemente dalla posizione del punto decimale. Ad esempio, 0,1 sarebbe visualizzato come 0,10000, 200 sarebbe visualizzato come 200.000 e 25000 sarebbe visualizzato come 25000,0.
Sfortunatamente, non esiste una formattazione che faccia il trucco; tutta la formattazione del display sembra dipendere dalla posizione del punto decimale. È possibile formattare una visualizzazione per un numero specifico di cifre dopo la virgola decimale, ma tale numero verrà utilizzato indipendentemente dal numero di cifre visualizzate prima della virgola decimale.
Diversi abbonati a ExcelTips hanno fornito suggerimenti che implicano l’utilizzo di formule per visualizzare il numero come desiderato. Ad esempio, la seguente formula visualizzerà il valore in A1 utilizzando sei cifre:
=FIXED(A1,IF(ABS(A1)<1,5,5-INT(LOG(ABS(A1)))),TRUE)
Altri lettori hanno fornito formule che si basavano sulla conversione del numero in una stringa di testo e sulla sua visualizzazione come tale. La conversione di un numero nel suo equivalente testuale, tuttavia, ha il netto svantaggio di non essere più in grado di utilizzare il numero in altre formule. (Ricorda: è testo a questo punto, non un numero.) La formula precedente non ha questa limitazione.
Se lo desideri, puoi anche utilizzare una macro per impostare la formattazione all’interno di una cella che contiene un valore. Il vantaggio di una tale macro è che non è necessario utilizzare una cella per una formula, come mostrato sopra. Lo svantaggio di una macro è che devi ricordarti di eseguirla sulle celle ogni volta che i valori al loro interno cambiano. La seguente macro è un esempio di tale approccio:
Sub SetFigures() Dim iDecimals As Integer Dim bCommas As Boolean Dim sFormat As String Dim CellRange As Range Dim TestCell As Range bCommas = False 'Change as desired Set CellRange = Selection For Each TestCell In CellRange If Abs(TestCell.Value) < 1 Then iDecimals = 5 Else iDecimals = 5 - Int(Log(Abs(TestCell.Value)) / Log(10#)) End If sFormat = "0" If bCommas Then sFormat = "#,##0" If iDecimals < 0 Then sFormat = "General" If iDecimals > 0 Then sFormat = sFormat & _ "." & String(iDecimals, "0") TestCell.NumberFormat = sFormat Next TestCell End Sub
Per utilizzare la macro, seleziona semplicemente le celle che desideri formattare, quindi eseguila. Ogni cella dell’intervallo selezionato è impostata per visualizzare sei cifre, a meno che il numero nella cella non sia troppo grande o troppo piccolo.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (1933) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: