Brenda è interessata a conoscere il numero di cifre significative in un valore. Si chiede se esiste una funzione o una formula di Excel, può utilizzare che restituirebbe il numero di cifre significative nel valore mostrato in una cella.

Questa domanda non è così semplice come sembra. Per alcune persone, trovare il numero di cifre significative in un valore significa contare il numero di cifre, escludendo eventuali punti decimali o segni negativi. Se questo è tutto ciò di cui hai bisogno, allora qualcosa come questa formula funzionerà perfettamente:

=IF(A1<0,IF(A1=INT(A1),LEN(A1)-1,LEN(A1)-2),IF(INT(A1)=A1,LEN(A1),LEN(A1)-1))

La ragione per cui questo non è così semplice, tuttavia, è perché ciò che costituisce il numero di cifre significative in un valore dipende da molte cose. La linea di fondo è che non puoi sempre dire guardando un valore quante cifre significative ha.

Ad esempio, il valore 100 potrebbe avere 1, 2 o 3 cifre significative. Si presume che il valore 1.00 abbia 3 cifre significative, ma potrebbe non essere il caso se il valore visualizzato è il risultato della formattazione imposta da Excel, ad esempio il valore nella cella potrebbe essere 1.0000437, che Excel formatta come 1.00. Puoi scoprire di più sull’argomento delle cifre significative qui:

`link:/office-skill-it/excelribbon-T012083

Esistono alcuni modi generalmente accettati per identificare le cifre significative in un numero, ma qualsiasi tentativo di codificare un insieme di regole è sempre aperto al dibattito. Uno di questi set di regole è stato annotato su Wikipedia, nella sezione “Identifying Significant Digits” di questo articolo:

http:--en.wikipedia.org-wiki-Significant_figures

Con almeno una serie di regole rudimentali in mente (come quella nell’articolo di Wikipedia) è possibile sviluppare una funzione definita dall’utente che ti darà il numero più probabile di cifre significative per un valore.

Function SigFigs(rng As Range, Optional iType As Integer = 1)

'iType = 1 is Min     'iType = 2 is Max

Dim rCell As Range     Dim sText As String     Dim sText2 As String     Dim iMax As Integer     Dim iMin As Integer     Dim iDec As Integer     Dim i As Integer

Application.Volatile     Set rCell = rng.Cells(1)



'if not a number then error     If Not IsNumeric(rCell) Or IsDate(rCell) Then         SigFigs = CVErr(xlErrNum)

Exit Function     End If

sText2 = Trim(rCell.Text)

sText = ""

'find position of decimal point (it matters)

iDec = InStr(sText2, ".")



'strip out any non-numbers (including decimal point)

For i = 1 To Len(sText2)

If Mid(sText2, i, 1) >= "0" And _         Mid(sText2, i, 1) <= "9" Then _         sText = sText & Mid(sText2, i, 1)

Next

'remove any leading zeroes (they don't matter)

While Left(sText, 1) = "0"

sText = Mid(sText, 2)

Wend     iMax = Len(sText)



'strip trailing zeroes (they don't matter if no decimal point)

sText2 = sText     If iDec = 0 Then         While Right(sText2, 1) = "0"

sText2 = Left(sText2, Len(sText2) - 1)

Wend     End If     iMin = Len(sText2)



'return Min or Max     Select Case iType         Case 1             SigFigs = iMin         Case 2             SigFigs = iMax         Case Else             SigFigs = CVErr(xlErrNum)

End Select End Function

Chiami questa funzione usando quanto segue nel tuo foglio di lavoro:

=SigFigs(A1, x)

È possibile sostituire x con 1 o 2. Se si specifica 1, la funzione restituisce il numero minimo di cifre significative. Se si specifica 2, la funzione restituisce il numero massimo di cifre significative. Nella maggior parte dei casi i due possibili valori restituiti saranno gli stessi, tranne per i valori che sono numeri interi, senza punto decimale finale, che hanno zeri finali. In altre parole, se usi la funzione per valutare il numero 1234000, il minimo (x è 1)

restituisce 4 e il massimo (x è 2) restituisce 7.

La funzione prende in considerazione il modo in cui il numero appare nel foglio di lavoro, il che significa che è importante come il numero è formattato. Elimina tutti i caratteri di formattazione, come segni negativi, parentesi e virgole.

_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.

ExcelTipsMacros [Fare clic qui per aprire quella pagina speciale in una nuova scheda del browser] `.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (10976) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: