Verwenden einer genauen Anzahl von Ziffern (Microsoft Excel)
Henk fragte, ob es in Excel eine Möglichkeit gibt, eine Zahl mit sechs Ziffern anzuzeigen, unabhängig von der Platzierung des Dezimalpunkts. Zum Beispiel würde 0,1 als 0,10000 angezeigt, 200 als 200.000 und 25000 als 25000,0.
Leider gibt es keine Formatierung, die den Trick macht; Alle Formatierungen der Anzeige scheinen von der Position des Dezimalpunkts abhängig zu sein. Sie können eine Anzeige für eine bestimmte Anzahl von Stellen nach dem Dezimalpunkt formatieren. Diese Anzahl von Stellen wird jedoch verwendet, unabhängig davon, wie viele Stellen vor dem Dezimalpunkt angezeigt werden.
Mehrere ExcelTips-Abonnenten haben Vorschläge gemacht, bei denen Formeln verwendet werden, um die Nummer wie gewünscht anzuzeigen. In der folgenden Formel wird beispielsweise der Wert in A1 mit sechs Ziffern angezeigt:
=FIXED(A1,IF(ABS(A1)<1,5,5-INT(LOG(ABS(A1)))),TRUE)
Andere Leser stellten Formeln zur Verfügung, die darauf beruhten, die Zahl in eine Textzeichenfolge umzuwandeln und als solche anzuzeigen. Das Konvertieren einer Zahl in ihr Textäquivalent hat jedoch den entscheidenden Nachteil, dass die Zahl nicht mehr in anderen Formeln verwendet werden kann. (Denken Sie daran, es handelt sich an dieser Stelle um Text, nicht um eine Zahl.) Die obige Formel weist diese Einschränkung nicht auf.
Wenn Sie möchten, können Sie auch ein Makro verwenden, um die Formatierung in einer Zelle festzulegen, die einen Wert enthält. Der Vorteil eines solchen Makros besteht darin, dass Sie keine Zelle für eine Formel verwenden müssen, wie oben gezeigt. Der Nachteil eines Makros besteht darin, dass Sie daran denken müssen, es auf den Zellen auszuführen, wenn sich die Werte in ihnen ändern. Das folgende Makro ist ein Beispiel für einen solchen Ansatz:
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
Um das Makro zu verwenden, wählen Sie einfach die Zellen aus, die Sie formatieren möchten, und führen Sie es dann aus. Für jede Zelle in dem von Ihnen ausgewählten Bereich werden sechs Ziffern angezeigt, es sei denn, die Zahl in der Zelle ist zu groß oder zu klein.
_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 (10920) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: