使用罗马数字(Microsoft Excel)
Excel包含一个工作表功能,使您可以将数字转换为罗马数字。 (嗯。让我们看看……我出生于MCMLVI。当当!我是经典!)使用罗马数字的最简单方法如下:
=ROMAN(123)
显然,您所需要做的就是将123替换为您要转换的数字。您可以使用1到3999之间的任何数字。(罗马书显然从未使用此范围以外的数字。)
如果需要,还可以使用第二个参数来指示如何将结果罗马数字放在一起。您可以使用的不同参数是0到4,默认值为0。参数0返回经典形式的罗马数字,参数4返回极其简化的罗马数字。 0到4之间的值将逐步返回简化版本。罗马数字的简化通常仅在处理较大数字时才起作用。例如,以下显示数字1999的各种简化形式:
Formula |
Result |
|
=ROMAN(1999,0) |
MCMXCIX |
|
=ROMAN(1999,1) |
MLMVLIV |
|
=ROMAN(1999,2) |
MXMIX |
|
=ROMAN(1999,3) |
MVMIV |
|
=ROMAN(1999,4) |
MIM |
您应该注意,ROMAN函数返回一个文本值,因此您不能在任何类型的计算中使用结果-就Excel而言,它不再是数字。
较早版本的Excel(包括Excel 2003)不包含将罗马数字转换回阿拉伯数字的功能。如果要使用公式方法进行转换,则可以尝试以下操作:
=MATCH(A1,INDEX(ROMAN(ROW(INDIRECT("1:4000"))),0),0)
这假定罗马数字在单元格A1中。如果愿意,可以创建自己的用户定义函数来转换为阿拉伯语:
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_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(1956)适用于Microsoft Excel 97、2000、2002和2003。