現在、Excel スプレッドシートで作業しており、16 進数から 48 ビット文字への変換を自動化する必要があります。約 27,000 行以上のサイズのデータを自動化しようとしています。
例。
6401034316154000 = 110100000001000011100011001110001101100000000000
6401034651710000 = 110100000001000011100110101001111001000000000000
6401034646734000 = 110100000001000011100110100110111011100000000000
6401034312554000 = 110100000001000011100011001010101101100000000000
よろしくお願いします
答え1
B1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0","000"),"1","001"),"2","010"),"3","011"),"4","100"),"5","101"),"6","110"),"7","111")
A1 は文字列型の値である必要があります。
答え2
まず、2列に8までの2進数の表を用意し、以下に示すように8進数の2進値を代入します。
0, 000---; 1, 001---;2,010---; 3, 011---;4, 100---;5,101---;6, 110---;7,111
テーブルがセル内にあるとしますV4:W11
。16桁のビットごとに、垂直参照式を使用してビットの値を取得し、セルに配置します。絶対参照を使用して、16桁すべての数式をコピーします。
ステップ 2 の表から 16 ビット値の検索をすべて完了します。
たとえば、16 桁の数字の場合、最初の桁の垂直検索値は
6
=110
、( =Vlookup(digit,$V$4:$W$11,2)..(Value is in Second Column of the Table) )
2 番目の桁は、4 = 100
3 番目の桁は0=000
、4 番目の桁1
は001
というように、16 文字すべてについて同様に検索されます。次に、連結式を使用して 16 桁から見つかった 48 桁すべてを結合します
Digit1&Digit2&Digit3&.......&Digit16
。これにより、長さ 48 の目的の文字列がバイナリで提供されます。
目的の結果を得るには、数式を行の下にコピーします。