スプレッドシートで「XIV」や「MMXI」といったローマ数字が混ざったデータを見て、困ったことはありませんか。手作業で1つずつ数字に置き換えるのは大変ですし、件数が多いとミスも起きやすいですよね。
そんなときに役立つのが、Googleスプレッドシートの ARABIC関数 です。ローマ数字の文字列を渡すだけで、対応するアラビア数字(普通の数字)に一発変換してくれます。
この記事では、スプレッドシートのARABIC関数の基本的な書き方から、負の値・非標準ローマ数字・空文字列など知っておきたい変換パターン、#VALUE!エラーの対処法、ROMAN関数との組み合わせまで、実務で使える形で丁寧に解説します。
ARABIC関数とは?基本の書き方
ARABIC関数は「アラビック」と読みます。英語の “Arabic numeral”(アラビア数字)が語源で、ローマ数字をアラビア数字に変換することを表します。
Googleスプレッドシートでローマ数字の文字列をアラビア数字(通常の数値)に変換するための関数です。たとえば「XIV」を渡せば14、「MMXI」を渡せば2011が返ってきます。
ROMAN関数の逆変換にあたる関数で、両者をペアで覚えておくとローマ数字とアラビア数字を相互変換する場面で非常に便利です。Excel 2013以降にも搭載されていますが、Googleスプレッドシートでも同じ仕様で利用できます。
構文と引数の説明
ARABIC関数の構文はとてもシンプルです。
=ARABIC(roman_numeral)
引数は1つだけです。変換したいローマ数字の文字列、またはローマ数字が入力されたセルの参照を指定します。
| 引数 | 内容 | 例 |
|---|---|---|
| roman_numeral | ローマ数字の文字列、またはセル参照 | “XIV” / A2 |
公式ドキュメントによると、入力範囲は 1〜3999 が標準です。ただし引数の最大文字数は255文字まで受け付けるため、理論上は最大255,000(M×255)まで処理できます。
ROMAN関数との違い(逆変換ペア)
ARABIC関数はROMAN関数の逆変換にあたります。両者の関係を整理しておきましょう。
| 関数 | 入力 | 出力 | 対応範囲 |
|---|---|---|---|
| ROMAN | アラビア数字 | ローマ数字 | 1〜3999 |
| ARABIC | ローマ数字 | アラビア数字 | 実質1〜255,000 |
ROMANは1〜3999の範囲しか変換できませんが、ARABICはより広い範囲を扱えます。範囲が非対称な点は覚えておくと安心です。
ROMAN関数の詳しい使い方はスプレッドシートのROMAN関数の使い方|ローマ数字変換で解説しています。
ARABIC関数の基本的な使い方
ここからは実際にスプレッドシートでARABIC関数を使う方法を、2つのパターンに分けて見ていきます。
セルに直接ローマ数字を指定する
まずは関数の中に直接ローマ数字を書く方法です。文字列はダブルクォーテーションで囲む必要があります。
=ARABIC("XIV") → 14
=ARABIC("MMXI") → 2011
=ARABIC("LVIII") → 58
シンプルですが、関数の動作確認やちょっとした変換にはこの書き方が手軽です。
セル参照で一覧を一括変換する
実務でよく使うのは、ローマ数字が並んだ列を一括で変換するパターンです。たとえばA列にローマ数字が入っているとします。
=ARABIC(A2)
セル参照を渡してフィルハンドルで下方向にコピーすれば、列全体のローマ数字をアラビア数字に変換できます。
| A列(ローマ数字) | B列(=ARABIC(A2)) |
|---|---|
| I | 1 |
| IV | 4 |
| IX | 9 |
| XIV | 14 |
| MMXXIV | 2024 |
ARRAYFORMULAと組み合わせれば、1つの式で範囲全体を一気に変換することも可能です。
=ARRAYFORMULA(IF(A2:A="","",ARABIC(A2:A)))
空セルを除外する条件を入れておくと、リストの末尾が伸びても安全に動きます。
知っておきたい変換パターン一覧
ARABIC関数には、知っておくと便利な「ちょっと特殊な挙動」がいくつかあります。ここでは主なポイントを整理しました。
| パターン | 入力例 | 結果 | 備考 |
|---|---|---|---|
| 負の値 | “-XIV” | -14 | 先頭にマイナスを付ける |
| 非標準表記 | “IIII” | 4 | 通常はIVだが受け付ける |
| 空文字列 | “” | 0 | エラーにならない |
| 大文字小文字混在 | “xiv” | 14 | 区別なし |
| 前後スペース | ” XIV “ | 14 | 自動で無視される |
負の値(例: -XIV = -14)の扱い
ARABIC関数は、ローマ数字の先頭にマイナス符号を付けると負の数として変換します。
=ARABIC("-XIV") → -14
=ARABIC("-MMXI") → -2011
会計データなどで貸方・借方をローマ数字で表記している場合に役立ちます。
非標準ローマ数字(例: IIII = 4)の扱い
正統な記法では4は「IV」と書きますが、時計の文字盤などでは「IIII」と表記されることもあります。ARABIC関数はこのような非標準表記も受け付けます。
=ARABIC("IIII") → 4
=ARABIC("VIIII") → 9
ただしVが2つ並ぶ「VV」のような明らかに不正な並びは#VALUE!になります。
空文字列(”” = 0)の扱い
空文字列を渡したときは、エラーではなく0が返ります。
=ARABIC("") → 0
リスト中に空セルが混ざっていてもARABIC自体はエラーを出しませんが、結果として0が並ぶと集計時に意味が変わってしまいます。前述のARRAYFORMULA例のようにIFで空チェックを入れるのが安全です。
実務シナリオ:ROMAN関数と組み合わせた表記統一
ARABIC関数は、ROMAN関数と組み合わせると「表記の統一」に強力な威力を発揮します。
ローマ数字→アラビア数字の書式統一バッチ処理
たとえば、複数の担当者がバラバラの形式で入力した「章番号」リストがあるとします。
| 元データ | 形式 |
|---|---|
| 第I章 | ローマ数字 |
| 第2章 | アラビア数字 |
| 第III章 | ローマ数字 |
このように混在しているデータをすべて「アラビア数字」に統一したい場合、ARABIC関数とIFERROR、REGEXEXTRACTを組み合わせます。
=IFERROR(ARABIC(REGEXEXTRACT(A2,"第([IVXLCDM]+)章")),REGEXEXTRACT(A2,"第(d+)章"))
ローマ数字を抽出してARABICに渡し、失敗した場合はアラビア数字を直接抽出する流れです。
逆に「アラビア数字に統一したものを再度ローマ数字に揃え直す」場合はROMAN関数を使います。
=ROMAN(B2)
ARABIC ⇄ ROMANの往復で、データのクレンジングと表記の再統一を自由に行えます。
#VALUE!エラーの原因と対処法
ARABIC関数で発生するエラーは基本的に#VALUE!の1種類です。原因を把握しておけば対処は難しくありません。
エラーが出るパターン一覧
主な#VALUE!発生条件を整理しました。
| 入力 | 結果 | 原因 |
|---|---|---|
=ARABIC("ABC") | #VALUE! | ローマ数字として無効な文字 |
=ARABIC(14) | #VALUE! | 数値の直接入力(文字列でない) |
=ARABIC("Ⅰ") | #VALUE! | 環境依存文字(全角ローマ数字) |
=ARABIC("VV") | #VALUE! | 規則違反のローマ数字並び |
数値を直接渡すとエラーになる点は見落としやすいので注意しましょう。数値をそのまま扱いたい場面ではARABIC関数は不要です。ROMAN関数の入力側に渡す形を検討してください。
環境依存文字に注意
もっとも陥りやすいのが、全角の環境依存ローマ数字を入力してしまうケースです。
=ARABIC("Ⅰ") → #VALUE! エラー(全角ローマ数字)
=ARABIC("I") → 1(半角アルファベットI)
見た目はそっくりですが、Ⅰ(全角)とI(半角アルファベット)は別の文字です。ARABIC関数が正しく解釈できるのは半角アルファベットの I、V、X、L、C、D、M のみです。
外部からコピーしてきたデータが#VALUE!になる場合は、まず文字種を疑ってください。SUBSTITUTE関数で全角から半角に置換しておくと解決します。
=ARABIC(SUBSTITUTE(SUBSTITUTE(A2,"Ⅰ","I"),"Ⅴ","V"))
まとめ
スプレッドシートのARABIC関数について、基本の書き方から実務での活用、エラー対処までを解説しました。最後にポイントを整理します。
- 構文は
=ARABIC(roman_numeral)の引数1つだけ - セル参照やARRAYFORMULAで一括変換できる
- 負の値(-XIV)、非標準表記(IIII)、空文字列(””=0)にも対応
- 大文字小文字の区別なし、前後スペースは自動で無視
- エラーは
#VALUE!のみ。原因の多くは環境依存文字か数値の直接入力 - ROMAN関数とペアで使えば、表記統一のバッチ処理に活用できる
ローマ数字とアラビア数字の往復変換は、ARABIC関数とROMAN関数のペアを覚えておくだけで作業効率が大きく変わります。逆変換にあたるROMAN関数の使い方はスプレッドシートのROMAN関数の使い方|ローマ数字変換で詳しく解説しているので、合わせてチェックしてみてください。
Excel版のARABIC関数の使い方を確認したい方はExcelのARABIC関数|ローマ数字を数値に変換する使い方も参考になります。
