プロが教える店舗&オフィスのセキュリティ対策術

タイトルの通りで

1→A
2→B
3→C

という風に簡単に変換できるような関数を紹介
していただけませんでしょうか?


よろしくお願いします。

A 回答 (5件)

A-Zまでで良いならCHAR関数で


=CHAR(64+A1) → A
AA以降も変換ならADDRESS関数で
=ADDRESS(1,A1,4) → A1
Aのみにしたい場合は
=LEFT(ADDRESS(1,A1,4),LEN(ADDRESS(1,A1,4))-1)
    • good
    • 1
この回答へのお礼

ご回答をいただいたみなさん、どうもありがとうございました。

おかげさまで解決しました。

また、よろしくお願いいたします。

お礼日時:2008/05/28 19:44

「Excelで数字を列名に変換したい」


については、私や他の回答者の方々が提案する方法のどれをとっても間違いはないと思います。

それよりも、「何のためにそうしたいのか」を教えてください。
目的を達成するためにはもっと簡単な手段があるかもしれません。
    • good
    • 0

Zまでしかうまく行かない式になったりして


そういうのは一発的なものは「無い」と言いいたい気持ちだが
ーー
=MID(ADDRESS(1,A1),2,FIND("$",ADDRESS(1,A1),2)-2)
で出せるようだが。
これも式が長いが。

A1に86 式を入れたところに CH
A1に119 で DO
    • good
    • 0

はじめまして


1~26については、mshr1962さんやfujillinさんの回答にあるように、
=CHAR(64+A1)
が一番手っ取り早いと思います。(A1~A26には1~26が入っているとします)
A→65
B→66
C→67
D→68
E→69

と、各文字に番号が付いていることを利用しています。


27~256についての別解です。
10進数を「0がない26進数」に変換するという、原始的な方法ですが、“簡単に”とは言えないような無理が生じています。
=SUBSTITUTE(CHAR(INT((A1-1)/26)+64),"@"," ")&CHAR(MOD(A1-1,26)+65)
でも、この数式をコピーしたらそのまま使えますので“簡単”ではあります。


mshr1962さんのアイディアの応用で、
=SUBSTITUTE(ADDRESS(1,A1,4),"1","")
もあります。最後に付く“1”を落とす方法の違いです。
mshr1962さんは最後の1字を落としました。
私の場合は、最後に付くのは“1”と分かっていますから“”(空の目次列)に置き換える方法をとりました。
    • good
    • 0

参照する(数字の入っている)セルをA10とすれば、CHR(A10+64)でA10の値に応じてA・・・Zとなります。



1~26以外の数字でも文字に対応してしまいますが、範囲外の数になるとエラーになりますので、エラーを回避する場合は、その前に範囲をチェックしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!