Excel bao gồm một hàm trang tính cho phép bạn chuyển đổi một số sang chữ số La Mã. (Hừm. Để xem nào …​ Tôi sinh ra ở MCMLVI. Dang! Tôi là người cổ điển!) Cách đơn giản nhất để sử dụng các chữ số La Mã như sau:

=ROMAN(123)

Tất nhiên, tất cả những gì bạn cần làm là thay thế 123 bằng số bạn muốn chuyển đổi. Bạn có thể sử dụng bất kỳ số nào trong khoảng từ 1 đến 3999. (Người La Mã dường như không bao giờ làm việc với các số nằm ngoài phạm vi này.)

Bạn cũng có thể, nếu muốn, sử dụng đối số thứ hai để chỉ ra cách các chữ số La Mã kết quả được ghép lại với nhau. Các đối số khác nhau mà bạn có thể sử dụng là 0 đến 4, với 0 là mặc định. Đối số 0 trả về chữ số La Mã ở dạng cổ điển và 4 trả về chữ số La Mã cực kỳ đơn giản. Các giá trị từ 0 đến 4 trả về các phiên bản đơn giản hơn dần dần. Việc đơn giản hóa chữ số La Mã thường chỉ phát huy tác dụng khi xử lý các số lớn hơn. Ví dụ, phần sau cho thấy các mức độ đơn giản hóa khác nhau của số 1999:

Formula

Result

=ROMAN(1999,0)

MCMXCIX

=ROMAN(1999,1)

MLMVLIV

=ROMAN(1999,2)

MXMIX

=ROMAN(1999,3)

MVMIV

=ROMAN(1999,4)

MIM

Bạn nên lưu ý rằng hàm ROMAN trả về một giá trị văn bản và do đó bạn không thể sử dụng kết quả trong bất kỳ loại tính toán nào — theo như Excel có liên quan, nó không còn là một số nữa.

Các phiên bản Excel cũ hơn (bao gồm Excel 2003) không bao gồm chức năng chuyển đổi số La Mã trở lại số Ả Rập. Nếu bạn muốn sử dụng cách tiếp cận công thức để thực hiện chuyển đổi, bạn có thể thử cách này:

=MATCH(A1,INDEX(ROMAN(ROW(INDIRECT("1:4000"))),0),0)

Điều này giả định rằng các chữ số La Mã nằm trong ô A1. Nếu muốn, bạn có thể tạo hàm do người dùng định nghĩa của riêng mình để chuyển đổi sang tiếng Ả Rập:

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 là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (1956) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.