No.4ベストアンサー
- 回答日時:
セル A1 の十進数の最大値が 35 なら、その三十六進数は次式で1桁表示
=CHAR(A1+48+7*(A1>9))
セル A1 の十進数の最大値が 1295 なら、その三十六進数は次式で2桁表示
=CHAR(INT(A1/36)+48+7*(INT(A1/36)>9))&CHAR(MOD(A1,36)+48+7*(MOD(A1,36)>9))
セル A1 の三十六進数の最大値が1桁の Z なら、その十進数は次式で表示
=CODE(A1)-48-7*(A1>"9")
セル A1 の三十六進数の最大値が2桁の ZZ なら、その十進数は次式で表示
=(CODE(LEFT(A1,1))-48-7*(LEFT(A1,1)>"9"))*36+(CODE(RIGHT(A1,1))-48-7*(RIGHT(A1,1)>"9"))
回答ありがとうございます。
私が対象としている数字が膨大な桁数のため関数で処理するのはとても難しいということがわかりました。
別の処理の仕方を考えてみたいと思います。
回答ありがとうございました。
No.5
- 回答日時:
>36進数から10進数にする関数
一発では式が複雑になるので
16進数の文字列を1桁1セルに分解する
その各文字をVLOOKUP関数で数値化する。
SUMPRODUCT関数で各桁の対応ウエイトを掛けあわせて足すと10進数になる。
例データ
A1:G2
12hd131721ーー49873
ーー1361296466561679616
B2の式 =36^(COLUMN()-2) 右方向に式を複写する。16進の各桁のウエイト(重み)です。
B1の式 =IF(COLUMN()-1>LEN($A$1),"",VLOOKUP(MID($A1,LEN($A1)+2-COLUMN(),1),$J$1:$K$36,2,FALSE))
36進で、6桁以下でB-G列とする
B1の式 =IF(COLUMN()-1>LEN($A1),"",VLOOKUP(MID($A1,LEN($A1)+2-COLUMN(),1),$J$1:$K$36,2,FALSE))
右方向に式を複写する。
K-J列に
11
22
33
44
55
66
77
88
99
a10
b11
c12
d13
・・・
のような対応表を作っておく。
H1の式は =SUMPRODUCT(B1:G1,B2:G2)
==
上記でウエイトのセルをシートのB2:G2に作らない場合
H1の式は
=SUMPRODUCT(B1:G1,{1,36,1296,46656,1679616,60466176})
のようにも(配列で直に)書けます。
B-G列は作業列を使ったことになり、やっていることが判りやすくなると思います。
ただし、どうしても桁数の少ない場合用です。
上記は、十分にはテストして無いので、よく検算・確認して使ってください。
回答ありがとうございます。
私が対象としている数字が膨大な桁数のため関数で処理するのはとても難しいということがわかりました。
別の処理の仕方を考えてみたいと思います。
回答ありがとうございました。
No.3
- 回答日時:
36進の表示だと数字が36個必要です。
その数字に何を使うか知りませんが、仮に0~9とアルファベット26文字を使うとすれば、その26文字を数値に対応させる必要があるので、それをどこかでやる必要があります。したがって、A1セルの10進数をB1に関数1つで36進で表示するのは無理です。作業領域を使えばできますが。この変換をしなくていい、すなわち0~9までの数字2つで36進の1ケタを表すということであれば、たとえば、
=RIGHT("00"&INT(INT(A1/36^4)/36),2)&RIGHT("00"&MOD(INT(A1/36^4),36),2)&RIGHT("00"&MOD(INT(A1/36^3),36),2)&RIGHT("00"&MOD(INT(A1/36^2),36),2)&RIGHT("00"&MOD(INT(A1/36),36),2)&RIGHT("00"&MOD(A1,36),2)
とでもすれば、2ケタが36進1ケタで表示されます。これで10進10ケタくらいまで36進に変換されます。もっと桁数がほしければ、関数を伸ばせばいい。
作業領域で対応表を作れば、36進1ケタを1文字で表示できます。
36進を10進に変換するのもできますが、36進をどのように表示するのか決めなければダメですね。
回答ありがとうございます。
私が対象としている数字が膨大な桁数のため関数で処理するのはとても難しいということがわかりました。
別の処理の仕方を考えてみたいと思います。
回答ありがとうございました。
No.2
- 回答日時:
各桁を求めて淡々と並べるだけの作業です。
B1:とりあえず最大4桁
=IF(A1>=36^3,MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",MOD(INT(A1/36^3),36)+1,1),"")
&IF(A1>=36^2,MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",MOD(INT(A1/36^2),36)+1,1),"")
&IF(A1>=36^1,MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",MOD(INT(A1/36^1),36)+1,1),"")
&MID("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",MOD(INT(A1/36^0),36)+1,1)
戻す方は数しかないのでもっと簡単です。
C1:同上
=SUMPRODUCT((FIND(MID(RIGHT("000"&B1,4),ROW($C$1:$C$4),1),"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")-1)*36^(4-ROW($C$1:$C$4)))
回答ありがとうございます。
IF関数を使うとなると対象の桁数がとても膨大なためネストの限界にひっかかってしまいます。
私の言葉が足りず、申し訳ございませんでした。
回答ありがとうございました。
No.1
- 回答日時:
標準の関数でできるのはここまで。
http://www.relief.jp/itnote/archives/000925.php
36進数だと外部ツールを使わないとダメだと思います。
http://www.geocities.co.jp/SiliconValley-SanJose …
回答ありがとうございます。
やはり単発の関数では2,8,10,16進数しかできないみたいですね。
参考URLのツールでは直接入力が出来なく、私が扱う数字が膨大すぎるのでとても効率が良くなかったです・・・。
この点は私の言葉不足で申し訳なく思います。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) Excel関数について質問です。 シート1に入力シートがあります。 =A1 =B1などで離れた数字な 5 2022/12/18 13:42
- Excel(エクセル) ExcelのIF関数 2 2022/04/14 16:11
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) excel関数について 3 2022/06/06 21:58
- Excel(エクセル) エクセル関数教えてください 3 2022/06/21 10:22
- Excel(エクセル) 隣り合っていないセルを まとめて税込表示したい 8 2022/09/25 14:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】for next構文について
-
エクセルで表
-
PDFの請求明細をエクセルにしたい
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
下記マクロでMsgBox "空白です...
-
エクセルでバーコード作成し使...
-
在庫管理表に使うエクセルの関...
-
Excel関数-文字列で自動作成さ...
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
Excelで50個のセルに同じ文字を...
-
Excel 2019 は、SPILL機能があ...
-
Microsoft Officeの中古は信用...
-
エクセルの表で1年間の曜日を...
-
エクセルで会社の従業員のデー...
-
スプレッドシート、Excelでの数...
-
[オートフィルタ]で抽出された...
-
エクセルでB列でフィルターをか...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報