Excelで26進数データを作成する方法

このQ&Aのポイント
  • Excelで10進数のデータを参照し、3桁の26進数のアルファベットを表示させる方法を教えてください。
  • アルファベットの各桁を求めるための関数としてQUOTIENTとMODを使用し、VLOOKUPとCONCATENATE関数を使ってアルファベットを結合します。
  • 具体的な手順として、C列にある10進数のデータを参照し、QUOTIENTとMOD関数で各桁を求め、VLOOKUP関数でアルファベットに変換します。最後にCONCATENATE関数を使って3桁のアルファベットを結合します。
回答を見る
  • ベストアンサー

アルファベット 26進数データをエクセルで作成

エクセルでデータを作成したいと思っています。 C列にある10進数のデータを参照して、3桁のアルファベットを表示させたいのですが、 関数で出来ますでしょうか? 0=AAA、1=AAB、・・・25=AAZ、26=ABA、・・・17575=ZZZ、17576=AAA (A=0、B=1・・・Z=25の26進数で3桁のアルファベット) 自分なりにやってみたこと C2セルに変換させたい10進数が入っているとして、 3桁アルファベットの上位桁関数=QUOTIENT(MOD(C2,26^3),26^2) 3桁アルファベットの中位桁関数=QUOTIENT(MOD(C2,26^2),26^1) 3桁アルファベットの下位桁関数=QUOTIENT(MOD(C2,26^1),26^0) として、Vlookup関数で上記関数で求まった数に対応するアルファベットを求めて、 CONCATENATE関数で結合しようと思ったのですが、 そもそも、アルファベットの各桁を求める関数がこれであっているのかわかりません。 以上、宜しく御願い致します。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

>アルファベットの各桁を求める関数がこれであっているのかわかりません。  ⇒問題ないと思います。   VLOOKUP関数は不要で、文字列Aはコードが65なのでこれを利用しました。   =CHAR(QUOTIENT(MOD(C2,26^3),26^2)+65)&CHAR(QUOTIENT(MOD(C2,26^2),26^1)+65)&CHAR(QUOTIENT(MOD(C2,26^1),26^0)+65)

kkk777
質問者

お礼

御回答ありがとうございます。 またなにかありましたら宜しく御願い致します。

kkk777
質問者

補足

御回答ありがとうございます。 問題ない事を検証する方法はありますでしょうか?

その他の回答 (3)

回答No.4

C2セルに変換させたい10進数が入っているとして、 =CHAR(MOD($C2/26^2,26)+65)&CHAR(MOD($C2/26,26)+65)&CHAR(MOD($C2,26)+65)

kkk777
質問者

お礼

.御回答ありがとうございます。 またなにかありましたら宜しく御願い致します。 ..

  • f272
  • ベストアンサー率46% (8003/17108)
回答No.2

#1さんのは3桁のアルファベットから10進の数値を求める関数 10進の数値から3桁のアルファベットを求める関数は,例えば =LEFT(ADDRESS(1,MOD(INT(A1/26^2),26)+1,4),1)&LEFT(ADDRESS(1,MOD(INT(A1/26),26)+1,4),1)&LEFT(ADDRESS(1,MOD(A1,26)+1,4),1) 0から15681まで(AAAからXFDまで)でいいのなら,Excel2007以降ですが =LEFT(ADDRESS(1,A1+703,4),LEN(ADDRESS(1,A1+703,4))-1)

kkk777
質問者

お礼

.御回答ありがとうございます。 またなにかありましたら宜しく御願い致します。 ..

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

こんな式でどうでしょうか。 =(CODE(LEFT(A1,1))-65)*26^2+(CODE(MID(A1,2,1))-65)*26+CODE(RIGHT(A1,1))-65

kkk777
質問者

お礼

御回答ありがとうございます。 またなにかありましたら宜しく御願い致します。

関連するQ&A

  • アルファベット版00~99になって00に戻るVBA

    excel2010のVBAに付いてお力を貸してください。 例えばA1セルに「AA」と入っていた場合、マクロを一度実行したらA1を「AB」にしたいです。 最後(ZZ)まで行ったら最初(AA)に戻ります。 AA→AB AB→AC AZ→BA BA→BB ZZ→AA AAA→AAB AAZ→ABA ZZZ→AAA のような形です。 条件としましてはA1には1~8桁まで入る可能性があります。 大文字と小文字が入る可能性があります。(Aaなど混ざることはありません。) If Str = "Z" Then  Str = "A" ElseIf Str = "z" Then  Str = "a" Else  Str = Chr(Asc(Str) + 1) End If 一桁ならこんな感じになると思うのですが、繰り上げや、ZZZからAAAに戻すうまい方法が浮かびません。 よろしくお願い致します。

  • アルファベットを含む数をエクセルでうまく並べ替えをしたい。

    エクセルのA列の中にある、数字で始まりアルファベットを含む桁数が一定ではない 1 2 3 1A1 2B30A3 3D 10A1 1A2 のようなデータを 1 1A1 1A2 2 2B30A3 3 3D 10A1 のように、アルファベットの前後の数で並べ替えをしたいのですが、 「データの並べ替え」を使っても 1 2 3 10A1 1A1 1A2 2B30A3 3D のように並んでしまい困っています。 そこでB列を作業用・並べ替え用のキー列にしたいのですが、 どのような関数、またはマクロを使えば、 上記中段のような並びに出来るでしょうか? 前後に0をつけて桁数を揃えたり、数字とアルファベットを他の記号などに置き換えたりすればよいのかな・・・? など色々試しているのですが、なかなか思うように行きません。 よろしくお願いします。

  • エクセルの関数について

    考えてもなかなか思いつかないので、、 教えてください。 ABC△△00012(もしくはABCD△00011) のような形のデータを ABC00+000+00012(プラスは入りません。わかりやすいように 追記しているだけです) つまりスペースを0に変換して真ん中に3桁の000を入れて 合計13桁に変換したいと思います。 関数として、 SUBSTITUTE(A1," ","0") #データがA1にあるものとして・・・ これでABC0000012に変換し、 CONCATENATE(LEFT(R[-6]C,5),"000",RIGHT(R[-6]C,5)) これでABC0000000012の13桁に変換できますが、 この2つの関数をつなげて一つにしたいのですが、 うまくいきません・・・。 どのようにしたらよいのでしょうか? また、逆に、 ABC0000000012の13桁をABC△△00012に変換するには どのようなやり方がよいでしょうか・・? よろしくお願いします。

  • エクセル2007 複数セルのデータを1つに連結

    いつもお世話になります。 エクセルで、複数セルのデータを1つに連結して表示させる方法を教えてください。 データ件数が多い(1000件以上)ため、 関数(CONCATENATE)や、連結記号(&) は、セルを1つずつ選択する時間が掛かるため、 その他に方法があれば教えてください。 また関数(CONCATENATE)でセル範囲をドラッグなど簡単に指定できる方法があれば教えてください。 【やりたいこと】  A列が同じデータの場合、B列の値をC列のセルに連結して表示させたい 【イメージ】 A列 B列 C列 xxx aaa aaa bbb ccc ddd eee xxx bbb xxx ccc xxx ddd xxx eee yyy ffff fff ggg hhh yyy gggg yyy hhh zzz iii iii jjj zzz jjj

  • EXCELでの16進数取り出し、上位桁と下位桁取り

    恐れ入ります。詳しい方教えてください。 各セルに2000までの数値があるデータがあり、このデータを16進数表記で、上位2桁と下位2桁に分けたいと考えています。 例) 870  → &h03, &h66 (870は10進数で366が16進数、これを&hを付けて03と66に分けたい) 1926 → &h07, &h86  ="0x"&DEC2HEX(C4, 4)を使って16進数4桁にすることまでは調べたのですが、上位2桁、下位2桁に分けられず悩んでいます。

  • エクセルでVLOOKUP関数を使用すると、データ数が多くてフリーズしてしまいます。

    エクセルでVLOOKUP関数を使用すると、データ数が多いくてフリーズしてしまいます。どうにかして解決できないでしょうか。 エクセルでVLOOKUP関数をしようして、データ数が多いとフリーズしてしまうのですが、何か解決方法ありますでしょうか。 エクセルでVlookUpを使い、Sheet1にsheet2から一致したデータを読み込もうと思うのですが、 データが重くなりすぎて、PCがフリーズしてしまいます。 どうにかして、簡単にVlookupと同じように一致したデータを抽出することはできないでしょうか。 sheet1では B列を入力して、C列を抽出したいです。 A列_____ ___B列_____ _____ _____ _____ ___C列 No_____ 入力項目_____ _____ _____ _____ 保存場所 1_____ #EXTINF:213,08___________ suzuki I:\music\suzuki 2_____ #EXTINF:223,08___________ satou U:\music\satou 2_____ #EXTINF:223,121__________kondou G:\music\kondou ↑ =VLOOKUP(B2,sheet2!$A$2:$B$40000,2,FALSE) =VLOOKUP(B3,sheet2!$A$2:$B$40000,2,FALSE) =VLOOKUP(B4,sheet2!$A$2:$B$40000,2,FALSE) sheet2のデータは A列_____ _____ _____ _____ ____B列 項目1_____ _____ _____ _____ 保存場所 #EXTINF:213,08_____ #suzuki I:\music\suzuki #EXTINF:223,08_____ #satou U:\music\satou #EXTINF:223,121____#kondou G:\music\kondou

  • EXCELで 一桁の数値を二桁に

    教えてください。 エクセルで、入っているデータを編集しているのですが A列には、一桁の数値が B列には、1桁から2桁の数値が C列には、1桁から2桁の数値が D列には、文字データが入っています。 D列のデータに対する対応表を作るために このA~C列のデータを CONCATENATE関数を使って合体させたいのですが、 (合体させると、数値がダブらない為) B列とC列に入っている1桁の数値を 2桁に変換したいのですが、 何かよい方法はありませんでしょうか? 手打ちで変換するには、かなり多いデータなのです。 どなたか、助けてください。

  • エクセルでセルの結合

    総てテキストデータの入っている複数のセルを、データを保証して結合したい。 いまは、CONCATENATEを使っているのですが、セルの数が多いと、=CONCATENATE(C4,C5,C6)では日が暮れてしまいます。=CONCATENATE(C4:C200)などができると良いんですが・・・。

  • エクセルで2つの数字を合体させる

    お世話になります。 A1に100、B1に1 A2に200、B2に15と各セルに数字が入力されていて それぞれを合体させてC1に10001、C2に20015と5ケタの数字を表示をさせたいのですが、CONCATENATE関数を用いて行った場合、1行目は1001と4ケタになってしまいます。桁をそろえて全てを5ケタにして合体させたいのですが・・・。(但し、B列には1ケタか2ケタの整数しかありません。) こういった場合、どのようにすればよろしいでしょうか? わかりづらい文章ですみませんが、何卒、ご存知の方、ご教授いただきたく、お願いします。

  • Excelでのデータ検索関数について

    Excelでのデータ検索について悩んでいます。 例えば、A列では「あ~お」、B列では「A~H」でC列ではデータが入っている場合でA列の「い」、B列の「C」のデータを検索したいときはどのように関数を組み合わせれば良いでしょうか?色々試したのですがなかなかうまくいきません。vlookup、index関数で組み合わせてできるのでしょうか?やはりVBAでしか無理なのでしょうか? どなたかご存知の方、ご教示ください。

専門家に質問してみよう