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.