Arbeiten mit römischen Ziffern (Microsoft Excel)
Excel enthält eine Arbeitsblattfunktion, mit der Sie eine Zahl in römische Zahlen umwandeln können. (Hmmm. Mal sehen … Ich wurde in MCMLVI geboren. Dang! Ich bin ein Klassiker!) Der einfachste Weg, die römischen Ziffern zu verwenden, ist wie folgt:
=ROMAN(123)
Alles, was Sie tun müssen, ist natürlich, 123 durch die Nummer zu ersetzen, die Sie konvertieren möchten. Sie können eine beliebige Zahl zwischen 1 und 3999 verwenden. (Römer haben anscheinend nie mit Zahlen außerhalb dieses Bereichs gearbeitet.)
Falls gewünscht, können Sie auch ein zweites Argument verwenden, um anzugeben, wie die resultierenden römischen Ziffern zusammengesetzt werden sollen. Die verschiedenen Argumente, die Sie verwenden können, sind 0 bis 4, wobei 0 die Standardeinstellung ist. Ein Argument von 0 gibt römische Ziffern in der klassischen Form zurück, und 4 gibt eine extrem vereinfachte römische Ziffer zurück. Werte zwischen 0 und 4 geben zunehmend vereinfachte Versionen zurück. Die Vereinfachung römischer Ziffern kommt normalerweise nur bei größeren Zahlen zum Tragen. Das Folgende zeigt zum Beispiel die verschiedenen Vereinfachungsstufen der Nummer 1999:
Formula |
Result |
|
=ROMAN(1999,0) |
MCMXCIX |
|
=ROMAN(1999,1) |
MLMVLIV |
|
=ROMAN(1999,2) |
MXMIX |
|
=ROMAN(1999,3) |
MVMIV |
|
=ROMAN(1999,4) |
MIM |
Sie sollten beachten, dass die ROMAN-Funktion einen Textwert zurückgibt und Sie das Ergebnis daher nicht für Berechnungen verwenden können. Für Excel ist es keine Zahl mehr.
Ältere Versionen von Excel (einschließlich Excel 2003) enthalten keine Funktion zum Zurückkonvertieren römischer Ziffern in arabische Ziffern. Wenn Sie für die Konvertierung einen formelhaften Ansatz verwenden möchten, können Sie Folgendes versuchen:
=MATCH(A1,INDEX(ROMAN(ROW(INDIRECT("1:4000"))),0),0)
Dies setzt voraus, dass sich die römischen Ziffern in Zelle A1 befinden. Wenn Sie möchten, können Sie Ihre eigene benutzerdefinierte Funktion erstellen, um die Konvertierung ins Arabische durchzuführen:
Public Function UnRoman(RomanNumber As String) As Integer Dim MySum As Integer Dim MyDeduct As Integer Dim MyWord As String Dim L As String Dim WordLength As Integer Dim i As Integer Dim MyArray() As Integer MySum = 0 MyDeduct = 0 MyWord = UCase(RomanNumber) WordLength = Len(MyWord) ReDim MyArray(WordLength + 1) For i = 1 To WordLength L = Mid(MyWord, i, 1) MyArray(i) = Switch(L = "I", 1, L = "V", 5, _ L = "X", 10, L = "L", 50, L = "C", 100, _ L = "D", 500, L = "M", 1000) MySum = MySum + MyArray(i) Next For i = 1 To WordLength - 1 If MyArray(i) < MyArray(i + 1) Then MyDeduct = MyDeduct + MyArray(i) End If Next 'Now deduct twice the value of the subtraction numbers UnRoman = MySum - 2 * MyDeduct End Function
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (1956) gilt für Microsoft Excel 97, 2000, 2002 und 2003.