エクセルで10進数の数値を32進数に変換する(自力計算 or base関数)

Pocket

32進数。

あまり聞かないですが、今回は32進数の数値をエクセルで作りたいと思います。というのも、10数万件のキー項目を4桁の文字であらわす必要があったからです。

16進数では10数万件は4桁でおさまらなかったので。。。。残念!

まあ、実際はそんな必要は全くないのですが、アホなリーダーがいるとやらなくていいことする必要が出てくるという、いつものことです。

スポンサーリンク

そもそも32進数ってどうやって表すの?

残念なお知らせですが、知りません。しかし、16進数は、『0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F を使いますので、そのままF以降の文字を使って 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V』を使うことにします。

では、さっそく作った32進数の作成画像です。

簡単な説明です。

A列:10進数表記の数値です。

C列~F列:32進数表記のための途中の計算結果です。結果は10進数の数値になっています。

C列セルの式: =MOD(INT(A2/32^3), 32) ・・・32進数の4桁目
D列セルの式: =MOD(INT(A2/32^2), 32) ・・・32進数の3桁目
E列セルの式: =MOD(INT(A2/32^1), 32) ・・・32進数の2桁目
F列セルの式: =MOD(INT(A2/32^0), 32) ・・・32進数の1桁目

H~K列:各桁の数値を32進数表記に変換しています。

H列: =IF(C2=0, “0”, CHOOSE(C2, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”, “K”, “L”, “M”, “N”, “O”, “P”, “Q”, “R”, “S”, “T”, “U”, “V”))

I~K列は、H列のC2をそれぞれ、D2, E2, F2 に置き換えたものです。CHOOSE関数についてはレッツぐーぐれ。

M列:H~K列を連結した文字列です。セルの式は『 =H2&I2&J2&K2 』 のようになっています。

これで、10数万件の分のキー項目を4桁で作成することができました。やらなくていいことに時間使って気分は良くありませんが。。。

また、愚痴ってしまった・・・・

2019年5月24日追記:

折角自力で計算したのですが、友人であり、エクセル博士でもある「あきら(通称キラ)」が「そんなの関数あるよ。エクセル2013以降なら使えるぞ」って教えてくれました。

base関数で進数変換

base関数の詳細は、以下のマイクロソフトのサイトを参照ください。

https://support.office.com/ja-jp/article/base-%E9%96%A2%E6%95%B0-2ef61411-aee9-4f29-a811-1c42456c6342

こんな感じで簡単に32進数を作成することができます。「もっと早く教えろ!!」と逆切れしたのは内緒です。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *