- ベストアンサー
34進数への変換について
- 34進数から10進数への変換や10進数から34進数への変換について質問です。
- 4桁の数字を34進数から10進数へ変換する方法を教えてください。
- 9桁の数字を34進数から10進数へ変換する式を求めています。どのような方法が適しているでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関数と同じような処理を行うユーザ関数を作ってしまった方が良いかもしれません。 手抜き版ですが、10進数をI,O抜きの34進数に変換するユーザ関数「fDEC234]、その逆「f342DEC」を作ってみました。 以下のコードを標準モジュールに入れて、A1に1234と入れ、B1に =fDEC234(A1) と入力すると、12A と表示されます。 A2にWXYZと入れ、B2に =f342DEC(A2) と入力すると、1216077 と表示されます。 桁を合わせるところは作りこんでいません。Excelの機能や関数でやるか、ご自分で実装してください。 Function fDEC234(aData As Range) As String For i = 1 To Int(Log(aData) / Log(34) + 1) nOne = aData Mod 34 ^ i If i > 1 Then nOne = Int(nOne / (34 ^ (i - 1))) sWork = Mid("0123456789ABCDEFGHJKLMNPQRSTUVWXYZ", nOne + 1, 1) & sWork Next i fDEC234 = sWork End Function Function f342DEC(aData As Range) As Long sData = aData.Text For i = 0 To (Len(sData) - 1) nWork = nWork + (InStr("0123456789ABCDEFGHJKLMNPQRSTUVWXYZ", Mid(sData, Len(sData) - i, 1)) - 1) * 34 ^ i Next i f342DEC = nWork End Function
お礼
ありがとうございました。残りは頑張ってみます。