スプレッドシートのCONVERT関数|単位コードと#N/A対処

スポンサーリンク

海外の仕様書や取引データに、インチやポンド、華氏の数字が並んでいる。そんなとき、換算サイトと電卓を行き来していませんか。

1件なら手計算でも済みますが、数十行あると係数の打ち間違いが怖いところ。しかも「km はどう書く?」「坪は使える?」と単位の書き方でつまずくと、関数に任せる気も失せてしまいますよね。

Googleスプレッドシートの CONVERT 関数なら、数値と単位コードを渡すだけで換算できます。この記事では、構文と基本例に加えて、公式ヘルプに載る単位コードの逆引き表を紹介します。業務での活用例やエラーの切り分けまでまとめました。

スプレッドシートのCONVERT関数でできること(構文と最小例)

CONVERT(コンバート)関数は、ある単位の数値を別の単位に換算する関数です。名前は英語の convert(変換する)から来ています。

Google の公式ヘルプには、長さ・重さ・温度・時間・面積・体積など13カテゴリの単位コードが載っています。以下、ブラウザ版の Googleスプレッドシートを前提に進めましょう。

構文と3つの引数

=CONVERT(値, 変換前の単位, 変換後の単位)
引数内容例
値換算したい数値。セル参照も可A2、100
変換前の単位値の今の単位を表すコード"lbm"
変換後の単位換算したい単位のコード"kg"

単位コードは "kg" のようにダブルクォーテーションで囲みます。公式ヘルプには =CONVERT(A1, A2, A3) という例もあります。単位をセルに書いて参照する形です。

守るべき決まりは1つだけ。変換前と変換後は同じカテゴリの単位にします。長さの "ft" から温度の "C" のように、カテゴリをまたぐ換算はエラーになります。

m→mi・kg→lbm・C→F の基本例

よく使う3パターンを並べました。A2 に左端の値を入れた想定です。

=CONVERT(A2, "m", "mi")
=CONVERT(A2, "kg", "lbm")
=CONVERT(A2, "C", "F")
A2 の値数式結果
1000=CONVERT(A2, "m", "mi")約0.6214
50=CONVERT(A2, "kg", "lbm")約110.23
25=CONVERT(A2, "C", "F")77

"kg" は公式ヘルプの例 =CONVERT(5.1, "g", "kg") に出てくるコードです。一方で "km" は、公式の距離リストには載っていません。そのため基本例は、リストにある "m" と "mi" で組みました。

キロメートルの値を換算したいときは、いったんメートルに直してから換算しましょう。100 km なら約62.137マイルです。

=CONVERT(A2*1000, "m", "mi")

CONVERT関数の単位コード逆引き表

公式ヘルプのリストから、業務で出番の多いコードを抜き出しました。表記はすべて公式どおりです。

ネット上では "m2" や "mn" という書き方も見かけますが、公式リストの表記は "m^2" と "min"。迷ったらこの表の書き方に合わせてください。

長さ・重さ

種類単位コード
長さメートル"m"
長さインチ"in"
長さフィート"ft"
長さヤード"yd"
長さマイル"mi"
長さ海里"Nmi"
重さグラム"g"
重さキログラム(公式例にあり)"kg"
重さポンド"lbm"
重さオンス"ozm"
重さストーン"stone"
重さトン"ton"

ポンドは "lb" ではなく "lbm"、オンスは "oz" ではなく "ozm" です。"oz" は体積のリストに入っているコードなので、取り違えに気をつけましょう。

このほか長さには ang・pica・ell・survey_mi・ly・parsec などがあります。重さなら grain・sg・cwt・uk_ton なども使えます。

温度

単位コード
摂氏(℃)"C"
華氏(℉)"F"
ケルビン"K"
ランキン度"Rank"
レオミュール度"Reau"

摂氏と華氏は大文字の "C"・"F" で書きます。計算上は -10℃ が 14℉ になり、マイナスの値も換算の対象です。

時間

単位コード
秒"sec"
分"min"
時間"hr"
日"day"
年"yr"

「分」は "min"、「時間」は "hr" と書きます。"mn" や "h" は公式リストに見当たりません。

面積・体積

種類単位コード
面積平方メートル"m^2"
面積平方フィート"ft^2"
面積平方インチ"in^2"
面積アール / ヘクタール"ar" / "ha"
面積エーカー"us_acre" / "uk_acre"
体積リットル"l"
体積立方メートル"m^3"
体積立方フィート"ft^3"
体積ガロン / 英ガロン"gal" / "uk_gal"
体積カップ / パイント / クォート"cup" / "pt" / "qt"

^(キャレット)は、日本語キーボードなら「へ」のキーで入力できます。公式の例 =CONVERT(35.7, "in^2", "m^2") もこの書き方です。

なお、日本の「坪」は公式リストにありません。換算式はエラー対処の節で紹介します。

情報・速度

種類単位コード
情報ビット / バイト"bit" / "byte"
速度メートル毎秒"m/s"
速度メートル毎時"m/hr"
速度マイル毎時"mph"
速度ノット"kn" / "admkn"

たとえば 60 mph は 26.8224 m/s です。メートル毎時は "m/h" ではなく "m/hr" と書きます。

ほかに圧力(Pa・atm・psi など)、力、エネルギー(J・cal・Wh など)、仕事率、磁力のカテゴリもあります。エネルギーのリストには小文字の "c" も並んでいて、温度の "C" とは別のコードです。

接頭辞付きのコード(km・cm・MB など)

公式リストには、"km" や "cm" のような接頭辞付きのコードは載っていません。接頭辞の付け方のルールも、公式ヘルプには説明が見当たりません。

公式の記載で確かなのは、例に出てくる "kg" だけです。

確実に動かしたいときは、基本単位で換算してから倍率を掛けるのがおすすめ。

=CONVERT(A2, "in", "m")*100    ← インチ→センチ
=CONVERT(A2, "ft", "m")*1000   ← フィート→ミリ

CONVERT関数を業務で使う活用例4つ

ここからは、事務や購買の現場でありがちな4つのケースです。1行目の数式を下へコピーすれば、表全体を換算できます。

海外仕様書のインチ・ポンド→cm・kg

B列に寸法(in)、C列に重量(lbm)が入った部品表を想定します。

=CONVERT(B2, "in", "m")*100
=ROUND(CONVERT(C2, "lbm", "kg"), 2)

10 in は 25.4 cm、10 lbm は約4.536 kg です。

重量は 4.5359237 と端数が長いので、ROUND関数で小数第2位(4.54)に丸めました。センチは "cm" を使わず、メートルに換算してから100倍しています。

行が多いなら、ARRAYFORMULA で1セルにまとめる方法を試せます。IF で空白行をスキップしておくと、表の途中に空きがあっても安心です。

=ARRAYFORMULA(IF(C2:C20="", "", ROUND(CONVERT(C2:C20, "lbm", "kg"), 2)))

数式を下へコピーする方法のほうが確実です。ARRAYFORMULA で期待どおりに展開されない場合は、そちらに切り替えてください。

温度ログ F→C

海外拠点から届く温度ログは、華氏のことがよくあります。

=CONVERT(B2, "F", "C")

98.6℉ は 37℃、32℉ は 0℃、212℉ は 100℃ になります。報告書に「37.0℃」の形で載せたいなら、TEXT関数で表示を整えましょう。

=TEXT(CONVERT(B2, "F", "C"), "0.0")&"℃"

TEXT の結果は文字列になるため、平均や最大値の計算には元の数値の列を使ってください。

時間 hr→min・day

作業時間を「時間」で記録していて、分や日に直したい場面です。

=CONVERT(B2, "hr", "min")
=CONVERT(B2, "hr", "day")

1.5 hr は 90 min、36 hr は 1.5 day になります。分のコードは "mn" ではなく "min" なので、ここが一番の間違いポイントかもしれません。

データ容量 byte→MB

公式リストの情報カテゴリは "bit" と "byte" の2つだけです。この2つの間なら CONVERT で換算でき、1 byte は 8 bit になります。

=CONVERT(B2, "byte", "bit")

MB や GB へは、割り算で直すのが確実です。

=B2/10^6      ← 1 MB = 1,000,000 byte で換算
=B2/1024^2    ← 1 MiB = 1,048,576 byte で換算

どちらの定義を使うかで数字が変わります。たとえば 2 GB は、10進なら 2,000 MB、2進(GiB→MiB)なら 2,048 MiB です。社内資料ではどちらの基準か書き添えておくと親切ですね。

CONVERT関数で#N/A・#VALUE!が出たときの原因と対処

公式ヘルプが書いている注意は「カテゴリ違いはエラー」の1点だけで、エラーの種類までは載っていません。ここでは、エラーになる原因を3つのパターンに分けて整理します。表示されるエラーの種類は、環境で確かめてください。

綴り・大文字小文字

まず疑いたいのが、単位コードの書き間違い。

誤: =CONVERT(A2, "lb", "kg")
正: =CONVERT(A2, "lbm", "kg")

誤: =CONVERT(A2, "c", "F")
正: =CONVERT(A2, "C", "F")

公式のコードは、"C"・"F" は大文字、"m"・"g" は小文字、"Nmi" は混在と、大文字小文字がまちまちです。区別される可能性が高いので、"KM" のように変えず公式どおりに書きましょう。

カテゴリ違い

重さから長さ、長さから温度のように、カテゴリの違う単位どうしは換算できません。

誤: =CONVERT(13.2, "ft", "C")   ← 長さ→温度
誤: =CONVERT(A2, "oz", "g")     ← 体積→重さ
正: =CONVERT(A2, "ozm", "g")    ← 重さ→重さ

1つ目は公式ヘルプに載っているエラーの例です。2つ目の "oz" は体積のコードなので、重さの "g" とはカテゴリが合いません。

未対応単位・複合単位

公式リストにない単位は、指定してもエラーになる可能性が高いです。代表的なのが坪と km/h です。

坪は、1坪 ≒ 3.305785 m² で割るだけ。CONVERT を使う必要はありません。

=A2/3.305785

A2 が 100(m²)なら約30.25坪です。km/h は、1000倍して公式コードの "m/hr" に直せば換算できます。

=CONVERT(A2*1000, "m/hr", "mph")

A2 が 60(km/h)なら約37.28 mph です。"m2"・"ft3"・"m/h" のような公式にない書き方も、"m^2"・"ft^3"・"m/hr" に直してください。

IFERROR と VALUE で包む

単位を直してもデータ側に欠けがあるなら、IFERROR関数でエラー表示を置き換えると表が見やすくなります。

=IFERROR(CONVERT(A2, "lbm", "kg"), "単位を確認")

ただし IFERROR は書き間違いも隠してしまいます。まずは IFERROR なしで正しく出るか確かめてから包むのが安全です。

CSV から取り込んだ「数字に見える文字列」が原因のこともあります。その場合は VALUE関数で数値に直してから渡しましょう。

=CONVERT(VALUE(A2), "lbm", "kg")

ExcelのCONVERT関数との違い

Excel にも同じ名前の CONVERT 関数があります。ただ、Googleスプレッドシートの公式ヘルプには、Excel との比較は書かれていません。

そのため「Excel で動いた単位コードはスプレッドシートでもそのまま通る」とは言い切れないのが実情です。ネット上の解説には Excel 前提のものも多く、"mn" や "m2" のような公式リストにない表記も見かけます。

両方のアプリでファイルをやり取りするなら、次の2点を押さえておくと安心です。

  • 単位コードは、この記事の表(スプレッドシートの公式リスト)にあるものを使う
  • 共有前に、それぞれのアプリで代表的な行の結果を見比べる

Excel 側の単位コードや使い方は、ExcelのCONVERT関数の解説にまとめています。

スプレッドシートのCONVERT関数のまとめ

最後に要点を振り返りましょう。

  • 構文は =CONVERT(値, 変換前の単位, 変換後の単位)。単位コードはダブルクォーテーションで囲む
  • コードは公式表記どおりに書く("lbm"・"min"・"m^2"・"m/hr")
  • 変換前と変換後は同じカテゴリにそろえる
  • 坪や km/h は公式リストにない。割り算や倍率で代替する
  • 端数は ROUND、エラー表示は IFERROR、文字列の数値は VALUE で整える

インチやポンドの換算を電卓でこなしていたなら、まずは部品表の1列だけ CONVERT に置き換えてみてください。数式を下へコピーするだけで、残りの行も一気に片づきますよ。

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