今回は、Excelで便利なBASE関数(ベース)・DECIMAL関数(デシマル)のご紹介です。

BASE関数は指定された基数(底)のテキスト表現に、数値を変換する関数になります。
10進数を別の底のテキスト表現に変換します。 たとえば、2 進数の底 2 などです。
書式は=BASE(数値, 基数, [最小長])です。
数値、変換する数値を指定します。0以上34359738368(2^53)未満の整数になります。
基数、数値を変換する基数(底)の数値を指定します。2以上36以下の整数になります。
[最小長]、(省略可) 返される文字列の最小文字数です。0以上255以下の整数になります。
引数の解説は下記の表の様になります。

DECIMAL関数は、別の底で表された数値のテキスト表現を底 10(10 進数)に変換します。
書式は=DECIMAL(値, 底)になります。引数は下記の表になります。

実際に操作していった方が理解が出来ると思います。

BASE関数

例1:Excelにデータが入力されています。
「A1」に10の数値が入力されています。「B1」に=BASE(A1,と入力します。
2進数に返還するので、「2」を挿入します。

注意事項
・数値、基数、または最小長が最小値または最大値の制約を外れる場合、エラー値 #NUM! が返されます。
・数値が数値以外の値である場合は、エラー値 #VALUE! が返されます。
・整数以外の任意の数値を引数として入力すると、小数点以下が切り捨てられます。

例2:下の表を作成します。
「C6」には「C3」の2進数を返します。=BASE(C3,2)
「C7」には「C3」の16進数を返します。=BASE(C3,16)
「C8」には「C3」の2進数を返しつつ7桁まで返します。=BASE(C3,2,7)

DECIMAL関数

DECIMAL関数は、指定された底の数値の文字列表現を10進数に変換します。
書式は、=DECIMAL(文字列, 基数)となります。
引数の文字列は変換した文字列を指定します。
基数は整数である必要がありますので2~36までの整数を入力します。(文頭で解説の表を確認)
こちらも実際に行ってみましょう。
「B2」のセルに「2D2H」の文字列を20進数を10進数表記に変換します。
「B3」に=DECIMAL(B1,B2)と入力します。答えは「21257」と反省されます。


例では、20進数で表記されたセルB2の数値「2D2H」を、DECIMAL関数で10進数に変換しています。

BASE関数・DECIMAL関数 のまとめ

BASE関数は、10進数表記の数値を、指定した基数のn進数表記の文字列に変換してくれる関数でしたね!
DECIMAL関数は、お金の計算など小数点以下の誤差が許容できない場合や、
DOUBLE PRECISION(通常の倍の桁数による数値表現)以上の有効桁数で小数点数を扱いたい場合、
整数の有効桁数を制限したい場合などに活用することができます。
一般的なDECIMALの用途はドルでお金を計算する場合など、小数点以下の値を誤差なく計算したい場合に使用します。