![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
ある表にフィルターをかけて出...
-
Excelのセルの色を変えた行(す...
-
エクセルの数式について教えて...
-
Excelでの記号と特殊文字につい...
-
Lookup関数
-
エクセルの数式バーのフォント...
-
MACにおけるエクセルの入力トラ...
-
IFとIFS関数
-
セルの数を求めたい
-
Excelを無料で使うには? パソ...
-
再質問です。マクロの修正箇所...
-
【マクロ】VLOOKUPにて参照元に...
-
データチェックを行うエクセル...
-
【ExcelVBA】名前を付けて保存→...
-
EXCELの散布図で日付が1900年に...
-
エクセルで「ページレイアウト...
-
スプレッドシートの関数につい...
-
エクセルでファイルの最終更新...
-
エクセルの問題です。絶対値の...
-
エクセルを使っていて2024/5/15...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報