Trovare il numero di cifre significative (Microsoft Excel)
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: