로마 숫자 작업 (Microsoft Excel)
Excel에는 숫자를 로마 숫자로 변환 할 수있는 워크 시트 함수가 포함되어 있습니다. (흠. 보자 … 저는 MCMLVI에서 태어났습니다. Dang! 저는 고전입니다!) 로마 숫자를 사용하는 가장 간단한 방법은 다음과 같습니다 :
=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에 적용됩니다.