Trovare il numero di cifre significative

Brenda è interessato a conoscere il numero di cifre significative in un valore. Si chiede se vi è una funzione di Excel o una formula può utilizzare che restituire il numero di cifre significative nel valore indicato in una cella.

Questa domanda non è così semplice come sembra. Per alcune persone, trovare il numero di cifre in un valore, al netto di eventuali decimali o segni negativi. Se questo è tutto ciò che serve, allora qualcosa di simile a questa formula funziona bene:

= IF (A1 <0, IF (A1 = INT (A1), LEN (A1) -1, LEN (A1 -2)), SE (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 si può sempre dire guardando un valore quante cifre significative che ha.

Per esempio, il valore 100 potrebbe avere 1, 2, o 3 cifre significative. Si presume che il valore 1,00 ha 3 cifre significative, ma che potrebbe non essere il caso se il valore visualizzato è il risultato di formattazione imposto da Excel-per esempio, il valore nella cella potrebbe essere 1,0000437, che i formati Excel come 1.00. Potete scoprire di più sul tema di cifre significative qui:

http://excel.tips.net/T001983

Ci sono alcuni modi generalmente accettati per identificare cifre significative in un numero, ma ogni tentativo di codificare una serie di regole è sempre aperta al dibattito. Una tale serie di regole è stato notato su Wikipedia, nella sezione "Identificare cifre significative" di questo articolo:

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

Con almeno un insieme rudimentale di regole in mente (come quello nell'articolo Wikipedia) è possibile sviluppare una funzione definita dall'utente che vi darà il numero più probabile di cifre significative per un valore.

SigFigs Funzione (RNG come gamma, opzionale iType As Integer = 1)
'IType = 1 è Min
'IType = 2 è Max

Dim RCELL come gamma
Dim sTesto 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)

'Se non un numero, allora errore
Se non IsNumeric (RCELL) O IsDate (RCELL) Poi
SigFigs = CVErr (xlErrNum)
Exit Function
End If

sText2 = Trim (rCell.Text)
sTesto = ""
'Trovare la posizione del punto decimale (importa)
IDEC = InStr (sText2, ".")

'Togliere tutti i non-numeri (tra cui il punto decimale)
Per i = 1 Per Len (sText2)
Se Mid (sText2, i, 1)> = "0" E _
Mid (sText2, i, 1) <= "9" Allora _
sTesto = sTesto & Mid (sText2, i, 1)
Il Prossimo

'Rimuovere eventuali zeri iniziali (che non contano)
Mentre Sinistra (sTesto, 1) = "0"
sTesto = Mid (sTesto, 2)
Wend
iMax = Len (sTesto)

'Strip zeri finali (loro non importa se nessun punto decimale)
sText2 = sTesto
Se Idec = 0 Then
Mentre a destra (sText2, 1) = "0"
sText2 = Left (sText2, Len (sText2) - 1)
Wend
End If
Imin = Len (sText2)

'Tornare Min o Max
Select Case iType
Caso 1
SigFigs = Imin
Caso 2
SigFigs = iMax
Case Else
SigFigs = CVErr (xlErrNum)
End Select
End Function

Si chiama questa funzione utilizzando la seguente nel foglio di lavoro:

= SigFigs (A1, x)

È possibile sostituire x con 1 o 2. Se si specifica 1, quindi la funzione restituisce il numero minimo di cifre significative. Se si specifica 2, quindi la funzione restituisce il numero massimo di cifre significative. Nella maggior parte dei casi i due possibili valori di ritorno saranno uguali, se non con valori che sono numeri interi, senza punto decimale trascinamento, che sono finali zeri. In altre parole, se si utilizza la funzione di valutare il numero 1234000, quindi il minimo (x è 1) restituisce 4 e il massimo (x è 2) restituisce 7.

La funzione tiene conto di come il numero visualizzato nel foglio di lavoro, il che significa che è importante come viene formattato il numero. Si spoglia eventuali caratteri di formattazione, quali segni negativi, parentesi e virgole.

ExcelTips è la vostra fonte per la formazione Microsoft Excel conveniente. Questo suggerimento (10975) si applica a Microsoft Excel 97, 2000, 2002, e 2003. È possibile trovare una versione di questo suggerimento per l'interfaccia ribbon di Excel (Excel 2007 e versioni successive) qui: trovare il numero di cifre significative.