Brenda ist daran interessiert, die Anzahl der signifikanten Stellen in einem Wert zu kennen. Sie fragt sich, ob sie eine Excel-Funktion oder -Formel verwenden kann, die die Anzahl der signifikanten Stellen in dem in einer Zelle angezeigten Wert zurückgibt.

Diese Frage ist nicht so einfach, wie es scheint. Bei manchen Menschen wird die Anzahl der Stellen in einem Wert ermittelt, abzüglich Dezimalstellen oder negativer Vorzeichen.

Wenn das alles ist, was Sie brauchen, funktioniert so etwas wie diese Formel einwandfrei:

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

Der Grund, warum dies nicht so einfach ist, liegt darin, dass die Anzahl der signifikanten Stellen in einem Wert von vielen Dingen abhängt. Die Quintessenz ist, dass Sie nicht immer anhand eines Werts erkennen können, wie viele signifikante Stellen er hat.

Zum Beispiel könnte der Wert 100 1, 2 oder 3 signifikante Stellen haben. Es wird davon ausgegangen, dass der Wert 1,00 drei signifikante Stellen hat. Dies ist jedoch möglicherweise nicht der Fall, wenn der angezeigte Wert das Ergebnis einer von Excel auferlegten Formatierung ist. Beispielsweise könnte der Wert in der Zelle 1,0000437 sein, was Excel als 1,00 formatiert. Weitere Informationen zum Thema der signifikanten Ziffern finden Sie hier:

http://excel.tips.net/T001983

Es gibt einige allgemein anerkannte Möglichkeiten, signifikante Ziffern in einer Zahl zu identifizieren, aber jeder Versuch, ein Regelwerk zu kodifizieren, ist immer offen für Diskussionen. Ein solches Regelwerk wurde bei Wikipedia im Abschnitt „Identifizieren signifikanter Ziffern“ dieses Artikels erwähnt:

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

Mit zumindest einem rudimentären Regelwerk (wie dem im Wikipedia-Artikel) ist es möglich, eine benutzerdefinierte Funktion zu entwickeln, die Ihnen die wahrscheinlichste Anzahl signifikanter Stellen für einen Wert gibt.

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

Sie rufen diese Funktion auf, indem Sie Folgendes in Ihrem Arbeitsblatt verwenden:

=SigFigs(A1, x)

Sie können x durch 1 oder 2 ersetzen. Wenn Sie 1 angeben, gibt die Funktion die Mindestanzahl signifikanter Ziffern zurück. Wenn Sie 2 angeben, gibt die Funktion die maximale Anzahl signifikanter Stellen zurück. In den meisten Fällen sind die beiden möglichen Rückgabewerte gleich, außer bei Werten, bei denen es sich um ganze Zahlen ohne nachgestellten Dezimalpunkt handelt, die nachgestellte Nullen aufweisen. Mit anderen Worten, wenn Sie die Funktion zum Auswerten der Zahl 1234000 verwenden, ist das Minimum (x 1)

gibt 4 zurück und das Maximum (x ist 2) gibt 7 zurück.

Die Funktion berücksichtigt, wie die Nummer im Arbeitsblatt angezeigt wird, was bedeutet, dass es darauf ankommt, wie die Nummer formatiert wird. Formatierungszeichen wie negative Vorzeichen, Klammern und Kommas werden entfernt.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (10975) gilt für Microsoft Excel 97, 2000, 2002 und 2003.

Eine Version dieses Tippes für die Multifunktionsleistenoberfläche von Excel (Excel 2007 und höher) finden Sie hier: