Thep Excel

ROMANแปลงเป็นเลขโรมัน

ROMAN ใช้แปลงตัวเลข (1–3999) ให้เป็นเลขโรมันในรูปข้อความ เช่น 10 → “X” และ 2024 → “MMXXIV” โดยสามารถกำหนดรูปแบบ (form) เพื่อให้เป็นแบบคลาสสิกหรือแบบย่อได้

fx
=ROMAN(number, [form])

ความนิยม5/10
ความยาก2/10
ประโยชน์6/10

อัปเดต 2 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
number Number ตัวเลข (1-3999) ที่ต้องการแปลงเป็นเลขโรมัน ใส่ 0, ค่าติดลบ หรือมากกว่า 3999 จะได้ #VALUE! error
[form]ไม่บังคับ Number ระดับความกระชับของเลขโรมัน: 0=Classic (ยาวสุด), 1-3=กระชับขึ้นตามลำดับ, 4=Simplified (สั้นสุด) รับค่า TRUE (=0 Classic) หรือ FALSE (=4 Simplified) ได้ด้วย

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

ฟังก์ชัน ROMAN แปลงตัวเลข (1-3999) ให้เป็นข้อความเลขโรมันแบบคลาสสิก เช่น 4 = “IV”, 99 = “XCIX”, 2024 = “MMXXIV” โดยพารามิเตอร์ form ให้เลือกความกระชับได้ 5 ระดับ ตั้งแต่ 0 (คลาสสิก เขียนยาวสุด) ไปจนถึง 4 (ย่อสุด เขียนสั้นสุด)

งานที่ใช้จริงบ่อยที่สุดคือเลขบทหนังสือ/สารบัญ, เลขข้อในสัญญาหรือใบเสนอราคา, ชื่อรุ่น/generation ของสินค้า (เช่น Super Bowl LVIII) และเลขชั้นอาคารสไตล์คลาสสิก ผมมักใช้คู่กับ ROW() หรือ SEQUENCE() เพื่อสร้างเลขบทอัตโนมัติทั้งชุดโดยไม่ต้องพิมพ์เอง

ที่เจ๋งคือ ROMAN รองรับการเขียนแบบลบ (subtractive notation) อัตโนมัติตามหลักเลขโรมันจริง เช่น 9 = “IX” แทนที่จะเป็น “VIIII” และฟังก์ชันตรงข้าม ARABIC จะแปลงเลขโรมันกลับเป็นตัวเลขให้ ใช้คู่กันได้ทั้งสองทาง

กับดักที่เจอบ่อยคือลืมว่าผลลัพธ์เป็นข้อความ (text) เสมอ เอาไปบวกลบคูณหารตรงๆ ไม่ได้ ต้องแปลงกลับด้วย ARABIC ก่อน และลืมว่า form รับได้ทั้งตัวเลข 0-4 และค่า TRUE/FALSE

Examples

พื้นฐาน: แปลงเลข 10 เป็นเลขโรมันROMAN(10)

แปลงเลข 10 เป็นเลขโรมันได้ "X" ตรงตัวเพราะ X แทนค่า 10 พอดี ไม่ต้องใช้ subtractive notation

fx
=ROMAN(10)

ผลลัพธ์X
พื้นฐาน: แปลงเลข 99 เพื่อดู subtractive notationROMAN(99)

99 แยกเป็น 90 (=XC คือ 100 ลบ 10) และ 9 (=IX คือ 10 ลบ 1) รวมกันเป็น "XCIX" แสดงให้เห็นหลักการเขียนแบบลบของเลขโรมันชัดเจน

fx
=ROMAN(99)

ผลลัพธ์XCIX
แปลงปี ค.ศ. สำหรับหน้าปกเอกสารROMAN(2024)

2024 = 2000(MM) + 20(XX) + 4(IV) ได้ "MMXXIV" รูปแบบที่เห็นบ่อยบนหน้าปกหนังสือหรือป้ายอนุสรณ์

fx
=ROMAN(2024)

ผลลัพธ์MMXXIV
เทียบ form 4 ระดับ เพื่อเลือกความกระชับที่ต้องการROMAN(499,0) → "CDXCIX" =ROMAN(499,4) → "ID"

เลข 499 เดียวกัน แต่ form=0 (classic) เขียนยาว 6 ตัวอักษร ส่วน form=4 (simplified) ใช้กติกาผ่อนปรนมากขึ้นจนเหลือแค่ 2 ตัว (I ลบจาก D) ยิ่ง form สูงยิ่งกระชับแต่ยิ่งไม่ตรงกับเลขโรมันมาตรฐานประวัติศาสตร์ งานทางการควรใช้ form=0 เสมอ

fx
=ROMAN(499,0) → "CDXCIX"
=ROMAN(499,4) → "ID"

ผลลัพธ์CDXCIX / ID
สร้างเลขบทอัตโนมัติด้วย ROW() สำหรับสารบัญในแถวที่ 3 ของตาราง (แถวข้อมูลที่ 1) =ROMAN(ROW()-2)

ROW() คืนเลขแถวจริงของเซลล์ (แถว 3) ลบ 2 เพื่อปรับให้แถวข้อมูลแรกเริ่มนับที่ 1 ได้ "I" แล้วลากสูตรลงจะได้ I, II, III, IV, … อัตโนมัติโดยไม่ต้องพิมพ์เลขบทเองทีละบท

fx
=ในแถวที่ 3 ของตาราง (แถวข้อมูลที่ 1)
=ROMAN(ROW()-2)

ผลลัพธ์I

FAQs

ตัวเลข 0 หรือจำนวนลบแปลงได้ไหม?+

ไม่ได้ ROMAN จะให้ #VALUE! error ทันทีถ้าใส่เลข 0 หรือค่าติดลบ เพราะระบบเลขโรมันในประวัติศาสตร์ไม่มีแนวคิดเรื่องศูนย์และจำนวนลบ ถ้าข้อมูลมีโอกาสเป็น 0 หรือติดลบ ควรครอบด้วย IF ก่อนส่งเข้าฟังก์ชัน

แปลงเลขได้ใหญ่สุดเท่าไหร่?+

สูงสุด 3999 (=MMMCMXCIX) เท่านั้น ถ้าใส่ 4000 ขึ้นไปจะได้ #VALUE! error เพราะเลขโรมันคลาสสิกไม่มีสัญลักษณ์รองรับหลักหมื่นขึ้นไปโดยไม่ใช้เส้นขีดพิเศษ ซึ่ง Excel ไม่รองรับรูปแบบนั้น

form 1, 2, 3 (ที่ไม่ใช่ 0 หรือ 4) ต่างจากกันยังไง มีใครใช้บ้าง?+

form 1-3 เป็นระดับความกระชับกึ่งกลางระหว่าง classic (0) กับ simplified (4) แทบไม่มีใครใช้ในงานจริง เพราะให้ผลลัพธ์ที่ไม่ตรงกับเลขโรมันมาตรฐานที่คนทั่วไปคุ้นตา ในทางปฏิบัติแทบทุกงานใช้แค่ form=0 (ค่าเริ่มต้น) เท่านั้น

ผลลัพธ์เป็นตัวเลขหรือข้อความ เอาไปบวกกันได้ไหม?+

ผลลัพธ์เป็นข้อความ (text) เสมอ เอา ROMAN(10) กับ ROMAN(20) มาบวกกันตรงๆ จะได้ error เพราะ "X" กับ "XX" ไม่ใช่ตัวเลข ถ้าต้องเอาไปคำนวณต่อ ต้องแปลงกลับเป็นตัวเลขด้วย ARABIC ก่อน

ROMAN กับ ARABIC ต่างกันตรงไหน ใช้คู่กันยังไง?+

ROMAN แปลงเลขอารบิกเป็นเลขโรมัน (ตัวเลข → ข้อความ) ส่วน ARABIC ทำตรงข้าม แปลงเลขโรมันกลับเป็นตัวเลขอารบิก (ข้อความ → ตัวเลข) ใช้คู่กันเวลาต้องตรวจสอบว่าเลขโรมันที่พิมพ์มาถูกต้องไหม เช่น =ARABIC(ROMAN(A1))=A1 เพื่อเช็ค round-trip

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ ROMAN จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้ROMANMath and trigonometry
Text (2)
TEXT

TEXT ใช้รหัสรูปแบบ (Format Codes) เช่น "dd/mm/yyyy" สำหรับวันที่ หรือ "#,##0.00" สำหรับตัวเลขมีทศนิยม ผลลัพธ์ที่ได้จะเป็นข้อความ (Text) เสมอ ไม่สามารถนำไปคำนวณต่อได้

VALUE

VALUE แปลงข้อความที่มีลักษณะเป็นตัวเลขให้เป็นตัวเลขจริงที่คำนวณได้ รองรับรูปแบบตัวเลข วันที่ เวลา เปอร์เซ็นต์ และสกุลเงิน

Math and trigonometry (1)
ARABIC

ARABIC แปลงเลขโรมัน (Roman Numerals) เป็นตัวเลขปกติ เช่น MMXXIV → 2024 ใช้ได้กับเลขขนาดใหญ่ถึง 255,000

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่