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関数の詳細は、以下のマイクロソフトのサイトを参照ください。
こんな感じで簡単に32進数を作成することができます。「もっと早く教えろ!!」と逆切れしたのは内緒です。