マクロ(visual basic)を使えば何とでもなります。でもマクロなしでやってみたいですね。
とりあえず符号は付けないものとします。n進法から10進法への変換、10進法からm進法への変換、の二つを作れば便利ですね。
n進法から10進法への変換
cell $A$1 にnの数値を入力し、(n≦18)
cell $B$1 にn進法で表した値(文字列)を入力することにします。取りあえず12桁以内ということにしましょう。$B$1 は文字列である事が確実であるように、先頭に ' (quote)を付けて入力します。cellの中で左寄せに表示されることを確認してね。
さて$C$1 には次の式を入力。
=SUM(IF(LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0}<1,0,(SEARCH(MID(B1,LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0},1),"0123456789abcdefghi")-1))*$A$1^{11,10,9,8,7,6,5,4,3,2,1,0})
そして、数式表示バーの中にカーソルを置いた状態(数式のどこかをクリック)で、Control キーを押しながらEnter (Macならリンゴマークのキーを押しながらEnter)します。この操作は複数のセルに答を表示させるような、配列を返す関数に使うもので、数式バーには(入力したおぼえのない){}が自動的に付加されて
{=SUM(IF(LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0}<1,0,(SEARCH(MID(B1,LEN(B1)-{11,10,9,8,7,6,5,4,3,2,1,0},1),"0123456789abcdefghi")-1))*$A$1^{11,10,9,8,7,6,5,4,3,2,1,0})}
と表示されるはずです。
10進法からm進法への変換。
cell $A$2 にmの数値を入力し、cell $C$1に表示されている10進数値をm進法に変換した文字列をcell $B$2に表示させます。
残念ながら、文字列をくっつける関数concatenateが融通が利かないもんですから、以下のようにする必要があります。
まず、cell $D$2に
=(MID("0123456789ABCDEFGHI",MOD(INT(C1/$A$2^{15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0}),$A$2)+1,1))
を入力して、取りあえずenterを押します。
それから、cell $D$2から $S$2までを選択します(このとき、cell $D$2を最初に選ぶことが重要です。)すると、数式バーに今入れた式が表示されてますね。この式のなかのどこでも良いからカーソルを置き、そしてControl キーを押しながらEnter (Macならリンゴマークのキーを押しながらEnter)します。すると、$D$2から$S$2までのセルに1文字ずつ表示されます。これが各桁の数字を表している。
最後にこれをひとまとめにするために、cell $C$2に
=CONCATENATE(D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2,S2)
を入力します。
これでcell $C$2にm進法で表示した値が出たわけです。え?先頭にゼロがいっぱい付いているのが気に入らない?
補足
回答ありがとうございます。 そうだった。0から、zまで行ったら……だめですね。(汗) すいません、とりあえずは18進法以上は必要ないんです。説明不足でした。