• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:34進数への変換など)

34進数への変換について

このQ&Aのポイント
  • 34進数から10進数への変換や10進数から34進数への変換について質問です。
  • 4桁の数字を34進数から10進数へ変換する方法を教えてください。
  • 9桁の数字を34進数から10進数へ変換する式を求めています。どのような方法が適しているでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.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

yuukiyuuki
質問者

お礼

ありがとうございました。残りは頑張ってみます。

関連するQ&A