ExcelのARABIC関数|ローマ数字を数値に変換する使い方

スポンサーリンク

「ローマ数字をExcelで数値に変換したいけど、どうすればいいの?」。手動で1つずつ読み替えるのは面倒ですよね。

変換ルールを覚えても、大量データになるとミスが起きやすいです。たとえば「MCMXCIX」が何の数字か、パッと答えられる人は少ないはずです。

この記事ではARABIC関数を使って、ローマ数字を一発でアラビア数字に変換する方法を解説します。エラー対処法や実務での活用パターンもまとめたので、ぜひ最後まで読んでみてください。

ARABIC関数とは

読み方と基本の役割

ARABIC関数の読み方は「アラビック関数」です。「アラビア数字の」という意味の英語がそのまま関数名になっています。

この関数は、ローマ数字の文字列をアラビア数字(普段使っている1, 2, 3のような数値)に変換します。Excel 2013で追加された関数で、Microsoft 365にも対応しています。

たとえば「XIV」を渡すと14が返ってきます。手動で変換ルールを計算する必要がなくなりますよ。

ROMAN関数との関係(逆変換ペア)

ARABIC関数には対になるROMAN関数があります。ROMAN関数はアラビア数字をローマ数字に変換する関数です。

つまり2つの関数は「逆変換ペア」の関係です。

  • ARABIC関数: ローマ数字 → アラビア数字(文字列を数値に変換)
  • ROMAN関数: アラビア数字 → ローマ数字(数値を文字列に変換)

3999以内の値であれば、=ARABIC(ROMAN(100))のように組み合わせると元の値に戻ります。覚えておくと便利ですよ。

ARABIC関数の書式と引数

基本構文

=ARABIC(文字列)

引数は1つだけのシンプルな関数です。

引数「文字列」の指定方法

引数必須/任意説明
文字列必須文字列ローマ数字の文字列、またはローマ数字が入ったセル参照

指定方法は3つあります。

  • 直接入力: =ARABIC("XIV") のようにダブルクォーテーションで囲む
  • セル参照: =ARABIC(A1) のようにセルを指定する
  • 他の関数の結果: =ARABIC(ROMAN(100)) のように関数を組み合わせる

大文字・小文字は区別されない

ARABIC関数はケースインセンシティブ(大文字・小文字を区別しない)です。以下はすべて同じ結果の14を返します。

=ARABIC("XIV")    → 14
=ARABIC("xiv")    → 14
=ARABIC("Xiv")    → 14

データに大文字・小文字が混在していても、変換前にわざわざ揃える必要はありません。そのまま使えるのがうれしいポイントですね。

ARABIC関数の使い方(基本例)

ローマ数字を直接入力して変換する

もっともシンプルな使い方です。引数にローマ数字を直接書きます。

=ARABIC("I")        → 1
=ARABIC("V")        → 5
=ARABIC("X")        → 10
=ARABIC("L")        → 50
=ARABIC("C")        → 100
=ARABIC("D")        → 500
=ARABIC("M")        → 1000
=ARABIC("MCMXCIX")  → 1999

ローマ数字の基本7文字と、それを組み合わせた文字列をそのまま変換できます。「IIII」のような非標準の書き方も4として認識されますよ。

セル参照でリスト一括変換する

実務では、セルに入ったローマ数字をまとめて変換するケースが多いです。

たとえばA列にローマ数字が入っている場合、B1セルに次のように入力します。

=ARABIC(A1)

あとはB1をコピーして下方向に貼り付ければ、リスト全体を一括で変換できます。前後にスペースが入っていても自動的に無視されるので、データのクリーニングは不要です。

負のローマ数字を変換する

ARABIC関数は負の値にも対応しています。ローマ数字の先頭にマイナス記号を付けると、負の数値を返します。

=ARABIC("-X")      → -10
=ARABIC("-MMXI")   → -2011

ROMAN関数(アラビア数字→ローマ数字)は負数に対応していないので、この点はARABIC関数だけの特徴です。

実務での活用シナリオ3選

シナリオ1:ローマ数字入りの商品番号を集計する

商品番号に「MODEL-III」「MODEL-VII」のようなローマ数字が含まれているケースを考えます。ローマ数字部分を数値に変換すれば、集計や並び替えが簡単になります。

A列に商品番号、B列にローマ数字部分が入っていると仮定します。

=ARABIC(B1)

B1が「III」なら3、「VII」なら7が返ります。この数値を使ってSUM関数やSORT機能で集計・並び替えができますよ。

もしローマ数字部分だけを取り出す必要があれば、SUBSTITUTE関数やMID関数と組み合わせます。SUBSTITUTE関数は文字列を置換する関数、MID関数は文字列の途中を取り出す関数です。

シナリオ2:四半期表記(Q-I〜Q-IV)を数値化して並び替える

レポートで「Q-I」「Q-II」「Q-III」「Q-IV」のような四半期表記を使うことがあります。このままではExcelは正しく並び替えできません。

A列に四半期表記が入っている場合、次の数式でローマ数字部分を取り出して変換します。

=ARABIC(MID(A1,3,LEN(A1)-2))

この数式のポイントは次のとおりです。

  • MID関数(文字列の指定位置から取り出す関数)で3文字目以降を抽出
  • LEN関数(文字数を数える関数)で全体の文字数を取得
  • ARABIC関数で抽出したローマ数字を数値に変換

結果は1〜4の数値になるので、並び替えやグラフの軸に使えます。

シナリオ3:ARABIC+ROMANで表記を統一する

データに「IIII」(非標準)と「IV」(標準)が混在している場合、表記を統一できます。

=ROMAN(ARABIC(A1))

ARABIC関数で一度数値に変換し、ROMAN関数で標準形式のローマ数字に戻します。「IIII」も「IV」もどちらも4になり、ROMAN関数が「IV」として返してくれます。

データの見た目を揃えたいときに試してみてください。

ARABIC関数のエラーと対処法

#VALUE!が出る主な原因

ARABIC関数で#VALUE!エラーが出るのは、引数がローマ数字として認識できない場合です。主な原因は3つあります。

原因入力例説明
ローマ数字以外の文字を含む=ARABIC("ABC")A・B・Cはローマ数字の文字ではない
数値を直接渡した=ARABIC(14)数値型は文字列型ではないのでエラー
日付や記号を渡した=ARABIC("2024/1/1")ローマ数字として解釈できない

数値を直接渡してエラーになるケースは意外と多いです。=ARABIC(14)ではなく=ARABIC("XIV")のように、必ず文字列で渡しましょう。

セルに入っている値が数値なのか文字列なのかわからない場合は、TYPE関数(データの型を調べる関数)で確認できます。エラーの詳細はExcelのエラー値一覧も参考にしてみてください。

空文字・空白セルを指定したときの挙動

空文字列""を渡した場合、ARABIC関数はエラーにならず0を返します。

=ARABIC("")    → 0

空白セルを参照した場合も同様に0が返ります。「0が入っていると困る」という場合は、IF関数で分岐させましょう。

=IF(A1="","",ARABIC(A1))

これでA1が空白のときは空白、値があるときだけ変換を実行します。

ROMAN関数との比較・使い分け

ARABIC関数とROMAN関数は逆変換の関係ですが、仕様には非対称な部分があります。

比較項目ARABIC関数ROMAN関数
変換方向ローマ数字 → 数値数値 → ローマ数字
構文=ARABIC(文字列)=ROMAN(数値, [書式])
入力の型文字列数値
出力の型数値文字列
対応範囲最大255,000(理論値)1〜3999のみ
負の値対応("-XIV" → -14)非対応(#VALUE!)
書式指定なしあり(0〜4で正式〜略式を選択)
対応バージョンExcel 2013以降全バージョン

覚えておきたいポイントは次の3つです。

  • ROMAN関数は3999までしか変換できないが、ARABIC関数は255,000まで対応する
  • 負の値はARABIC関数だけが対応している
  • 3999以内なら=ARABIC(ROMAN(n))で元の値に戻る完全互換になる

「ローマ数字を数値に直したい」ならARABIC関数。「数値をローマ数字で表示したい」ならROMAN関数です。この使い分けを覚えておけば迷いませんよ。

まとめ

この記事では、ExcelのARABIC関数でローマ数字をアラビア数字に変換する方法を解説しました。

  • ARABIC関数の構文は =ARABIC(文字列) で引数は1つだけ
  • 大文字・小文字を区別せず、前後のスペースも自動で無視する
  • 負のローマ数字にも対応している
  • 空文字列は0を返し、無効な文字列は#VALUE!エラーになる
  • ペア関数のROMAN関数と組み合わせれば表記の統一もできる

四半期表記の数値化や商品番号の集計など、実務で活躍する場面は意外と多いです。ぜひ使ってみてください。

関数一覧

各関数の解説記事へは下記のリンクからアクセスできます。

タイトルとURLをコピーしました