
別の質問で4桁の数字を以下の方法で34進数からor34進数へ変換する式を見付けました。
これを9ケタの数字の変換に拡張しようとするとどういうのがいいのでしょうか?
2倍チョットの分量の式にしなくてはいけませんでしょうか?
いいやり方を教えてください。
A1に値を入れて、
34進→10進
=(SEARCH(LEFT(A1,1),"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ")-1)*34^3+(SEARCH(MID(A1,2,1),"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ")-1)*34^2+(SEARCH(MID(A1,3,1),"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ")-1)*34+(SEARCH(RIGHT(A1,1),"0123456789ABCDEFGHJKLMNPQRSTUVWXYZ")-1)
10進→34進
=MID("0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",INT(A1/34^3)+1,1)&MID("0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",INT(MOD(A1,34^3)/34^2)+1,1)&MID("0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",INT(MOD(A1,34^2)/34)+1,1)&MID("0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",MOD(A1,34)+1,1)
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
セル内の文字列が日本語か英語...
-
Symfowareでのデータ型変換につ...
-
COBOLによる全角・半角混...
-
sedで日本語の置換方法について
-
CSVをVB(input)で読み込んだ場...
-
std::stringからLPCWSTR型への変換
-
16進数で表示
-
dsPICを用いたPWM出力
-
COBOLのデータ型
-
2バイト文字をJEFからSJISに変...
-
数千の単語の並び替えについて。
-
文字コード(EUC->SJIS)につい...
-
文字の変換 (アルファベット)
-
byte配列の内容をstringにコピ...
-
C言語でUTF-8コードで読み込ん...
-
VS 2008(VB.NET)
-
Excelで入力禁止文字を設定したい
-
エクセルでアルファベットか数...
-
DOHCとOHC
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EBCDIC⇒SJIS変換の方法
-
std::stringからLPCWSTR型への変換
-
セル内の文字列が日本語か英語...
-
「彡」って文字はなんという文...
-
VS 2008(VB.NET)
-
COBOLによる全角・半角混...
-
ふりがなをアルファベット化す...
-
Symfowareでのデータ型変換につ...
-
RubyでUTF8のコード値を文字に...
-
フォームのコントロールのバッ...
-
%fと%gについて
-
ExcelVBA実行後に時々落ちる
-
JIS → S-JIS コード変換するには
-
英数字を含む文字列(0-9,A-Z)...
-
sedで日本語の置換方法について
-
byte配列の内容をstringにコピ...
-
数字5桁文字コード?
-
accessでJISコードを求める関数
-
コード変換について
-
「髙(はしごたか)」を文字コー...
おすすめ情報