【Excel】セルに書式で国際単位系に準拠した単位を付ける:Tech TIPS
Excelの表の数値を分かりやすくするため、各値に単位を付けることもあるだろう。この際、直接セル内の数値に「kg」などの単位を付けて入力すると、「文字列」となってしまう。そこで、ユーザー定義書式を使って単位をセル内に表示する方法を紹介する。
対象:Office 2013/2016/2019/365
セルに単位を表示する方法による違い
ユーザー定義書式(B列とグラフ上)ではグラフが想定通りに描ける。一方、セルに直接単位を入力(D列とグラフ下)すると、セルの値が文字列になってしまい、グラフが正しく描けない。
身の回りにある「数値」には何らかの「単位」が付いていることが多い。「g(グラム)」と「kg(キログラム)」といったように、単位によっては、その数値の意味合いが大きく異なってくる。そのため、「Microsoft Excel(エクセル)」で表を作成する際に、単位を示すことも多いだろう。Excelで数値に単位を付ける方法は、複数ある。ここでは、科学や技術系の文書に利用できるようにできるだけSI(国際単位系)に準拠した方法で数値に書式で単位を付ける方法を解説する。
なお、単位の付いた数値を「名数」という。これに対して単位の付かない単なる数値を「無名数」という。「数値」という用語は、「名数」「無名数」の両方に相当する。そこで本記事では、これらの「値」を以下のように表現して区別する。
- 無名数である数値は、「値」
- Excelのセルに格納されている数値は、「セルの値」
- 「数値」は、セルの値の種類として、文字列や数式ではない数字からなるものを区別する場合に使う
Excelで単位を表現する方法
Excelで単位を表示するには、ユーザー定義書式や数式など複数の方法が考えられる。それぞれにメリットデメリットがあるが、単位を付けた値を数式内で参照できるかどうかは大きな違いとなる。
方式 | 数式内参照 | 表示用セル | メリット | デメリット |
---|---|---|---|---|
ユーザー定義書式 | 可 | 不要 | コピーや編集が簡単 | 最大3種類の分量/倍量単位にしか対応できない |
条件付き書式 | 可 | 不要 | 多数の分量、倍量単位に対応可能 | 書式の定義や適用が複雑になる |
数式 | 不可 | 必要 | 制限はあるが柔軟に対応可能 | 複雑な式が必要で指定が面倒 |
ユーザー定義関数 | 不可 | 必要 | どんな単位にも対応できる | マクロを使う必要がある |
セルに単位を表示する方法の違い |
数式やユーザー定義関数で単位を表示させると、それは「文字列」となってしまい、他の数式から参照しても、元の値としては使えない。また、元の値とは別の表示専用のセルを作り、そこに数式や関数を置かねばならない。グラフなどで使う場合、文字列になってしまうと、Excelの大小関係の判定が文字列として行われてしまうため、グラフが正しく作られないなどの問題が起きる。
数式で単位を表現すると他の数式から参照できなくなる
C3セルは、数式でB2セルの値に単位を付けたもの。そのセルの値は「文字列」になってしまう。それをD3セルの数式から参照すると、「数値」として計算できないため、「#VALUE!」というエラーが発生している。
セル書式を使って単位を表示させる方法は、セルの値はあくまでも数値のままであり、表示だけを変更しているため、数式やグラフのデータとしても問題がない。ただし、「XメートルXXセンチ」のように複数の単位を表現する場合には少々工夫が必要になる。複数の単位を使う書式についてはここでは扱わない。
セルでユーザー定義書式を使う方法
簡単にユーザー定義書式を使ってセルに単位を表示する方法を解説しておこう。単位を表示したいセルを選択(複数選択することも可)し、[ホーム]タブの[セル]グループにある[書式]のプルダウンリストから[セルの書式設定]を選択する。選択したセルを右クリックして、メニューから[セルの書式設定]を選択してもよい。
[セルの書式設定]ダイアログが開くので、[表示形式]タブを開き、「分類」で[ユーザー定義]を選択する。「種類」の入力ボックスに「0 メートル」などと入力すれば、セル内の値が「1 メートル」などと単位が付いて表示されるようになる。
セルでユーザー定義書式を使う(1)
ユーザー定義書式を設定したいセルを選択する。見出しセルは選択しない(理由は後述)。数値セルの一番上を選択して、[Ctrl]+[Shift]+[↓]キーで値の入っている最後のセルまで選択できる。セルを選択後、右クリックして、メニューから[セルの書式設定]を選択する([Ctrl]+[1]キーを押してもよい)。
セルでユーザー定義書式を使う(2)
[セルの書式設定]ダイアログが開くので[表示形式]タブを開き、「分類」で[ユーザー定義]を選択する。「種類」の入力ボックスに書式を入力する。書式が対象セルに反映された結果は、「サンプル」に表示される。サンプルに表示されるのは、アクティブなセルになるため、セルを選択する際に見出しセルをアクティブにすると、ここに見出しセルの文字列が表示されてしまい、書式の反映結果が確認できない。そのため、セルを選択する際は、見出しセルを除くのが望ましい。
理工学系での名数の表記方法
理工学系で単位を利用する場合、原則SIに準拠させる必要がある。もちろん、個人的な文書であれば、どのような表記でも可能だが、公開するような文書はSIに準拠した表現が要求されることが多い。正式なルールについてはSIの文書を確認してほしい。ただし、Excelのユーザー定義書式では、その制約から完全なSI準拠は困難であり、可能な範囲での対応となる。
ミリメートル単位の値をSIになるべく準拠させながら単名数形式(単位が1つだけの表示形式)で表示するには、以下のような表記を使う。
[>=10000]### ### ##0.??" mm ";
###0.??" mm"
ここでは分かりやすくするため、セミコロンの直後で改行している。実際にExcelで指定する際には、改行しないで1行にまとめること。
これで表記したのが、下表だ。ミリメートル単位の場合、1メートル(1000ミリ)以上になると、4桁以上になる。SIのルールでは、整数部が4桁の場合には、スペースを使った区切りが許されないので、数字が5桁以上になる10メートル(10000ミリ)以上の場合のみスペースで桁区切りを入れるようにする(SIでは桁区切りのカンマは許容されていない)。書式1行目の冒頭の「[>=10000]」は、そのための条件指定である。Excelのユーザー定義書式では、角括弧で対象数値の比較条件を入れることで最大3種(ただしうち1つは無条件)の数値書式を設定できる。
元の「値」 | 単名数形式 | ||
---|---|---|---|
書式 | 標準 | [>=10000]### ### ##0.??" mm" ###0.??" mm" |
|
ミリ単位 | 0.1 | 0.1 mm | |
1.23443212 | 1.23 mm | ||
10 | 10. mm | ||
12.3443212 | 12.34 mm | ||
123.443212 | 123.44 mm | ||
1000 | 1000. mm | ||
1234.43212 | 1234.43 mm | ||
12344.3212 | 12 344.32 mm | ||
123443.212 | 123 443.21 mm | ||
1234432.12 | 1 234 432.12 mm |
できるだけSIに準拠させてユーザー定義書式で単位を表示させてみた。ユーザー定義書式の条件指定は、整数部4桁まではスペースによる3桁区切りを抑え、5桁以上でスペースによる3桁区切りを行わせるためのもの。また、誤読を防ぐため、「0.??」で小数点位置をそろえた。残念ながら、Excelのユーザー定義書式では、小数部がないときにもピリオドを省略できない。
小数点以下の数字のみの場合には、SIでは整数部にゼロを必ず表記することになっているため、ピリオドの左側は「#」ではなく「0」を使う。
値と単位の間を区切るため、「"(ダブルクオート)」でくくった文字列の先頭には半角スペースが入れてある(SIのルールに準拠)。
グラム単位の場合も、単位表記が異なるのみでほとんど同じユーザー定義書式が利用できる。
接頭辞に合わせた指数表示
また、「k(キロ)」「G(ギガ)」のように、SIで使われる分量、倍量単位の接頭辞は、原則「10の3乗」ごとに切り替わる。10の-2乗から2乗に対応する接頭辞もあるが、使われるのは特定の単位の場合のみ(例えばdB:デシベルなど)だ。書式設定で多数の接頭辞に対応することはできないが、指数表示に関しては、書式指定を以下のようにすることで、指数部を3の倍数に強制することが可能だ。これは、負の指数に関しても有効である。
###.??E+00" <単位の名称>"
元の「値」 | 工学的指数表示 | ||
---|---|---|---|
書式 | 標準 | ###.??E+00" mm" | |
ミリ単位 | 0.0001 | 100. E-06 mm | |
0.123443212 | 123.44E-03 mm | ||
1.23443212 | 1.23E+00 mm | ||
10 | 10. E+00 mm | ||
123.443212 | 123.44E+00 mm | ||
1000 | 1. E+03 mm | ||
1234.43212 | 1.23E+03 mm | ||
123443.212 | 123.44E+03 mm | ||
1234432.12 | 1.23E+06 mm | ||
1234432120 | 1.23E+09 mm | ||
書式 | 標準 | ###.??E+0" m" | |
メートル単位 | 0.0001 | 100. E-6 m | |
0.123443212 | 123.44E-3 m | ||
1.23443212 | 1.23E+0 m | ||
10 | 10. E+0 m | ||
123.443212 | 123.44E+0 m | ||
1000 | 1. E+3 m | ||
1234.43212 | 1.23E+3 m | ||
123443.212 | 123.44E+3 m | ||
1234432.12 | 1.23E+6 m | ||
1234432120 | 1.23E+9 m | ||
書式 | 標準 | ###.??E+0" g" | |
グラム単位 | 0.0001 | 100. E-6 g | |
0.123443212 | 123.44E-3 g | ||
1.23443212 | 1.23E+0 g | ||
10 | 10. E+0 g | ||
123.443212 | 123.44E+0 g | ||
1000 | 1. E+3 g | ||
1234.43212 | 1.23E+3 g | ||
123443.212 | 123.44E+3 g | ||
1234432.12 | 1.23E+6 g | ||
1234432120 | 1.23E+9 g |
SI接頭辞による倍量/分量単位の表示はユーザー定義書式では不可能だが、指数部を3の倍数にそろえることで、接頭辞との対応を行いやすくすることはできる。プログラム電卓などで「工学指数表示」などと呼ばれるものだ。
この書式指定文字列では後半の「E+00」で指数表示を指定している。その仮数部に対して「###」と整数部を3桁に限定することで、指数を3の倍数にすることが可能になる。このようにすることで、「E-03」(10のマイナス3乗)ならm(ミリ)、「E-09」ならμ(マイクロ)、「E+06」ならM(メガ)と接頭辞を簡単に類推できる。この表記は、「工学的指数表示」などとして、かつて関数電卓などが採用していた方式だ。
ユーザー定義書式では、小数点以下の数値に関してはそのまま扱うしか方法がない。しかし、唯一指数表記に関しては、仮数部の桁数に合わせて指数が自動的に変換される。これを使うことで、接頭辞は表示できないものの、指数を推測しやすい3の倍数にできる。
SIを基準にした単位の表示を書式で行うことで、見やすさを確保しつつ、値には手を付けずにそのままにしておくことが可能だ。グラフなどにする場合にも、Excelが大小関係を判断できるため、問題が起きにくい。接頭辞に対応するなら、数式やユーザー定義関数などが必要になるが、単名数であれば、書式での対応はそれほど難しくない。
Copyright© Digital Advantage Corp. All Rights Reserved.