- 締切済み
Excel で 文字→数字変換
エクセルで文字→数字変換を行いたいのですが、 どのようにすればよいでしょうか? (やりたい例) あるセルの特定文字列位置の文字を数字に変換したい。 文字列先頭から4番目の文字を元に数値に変換する。 Aだと1と変換、Bだと2と変換、Cだと3と変換… A1:xxxBxxxx B1:2 うまく質問が表現できなくてすいません。 実現方法はVBAでも結構です(使ったことはありませんが)。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法はいかがでしょうか =COLUMN(INDIRECT(MID(A1,4,1)&1))
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 任意の文字に対して数値に変換する場合は、表を用意してください。 $H$1:$I$10 -------------- a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10 B1 ~ =IF(AND(LEN(A1)>3,COUNTIF($H$1:$H$10,MID(A1,4,1))),VLOOKUP(MID(A1,4,1),$H$1:$I$10,2,FALSE),"") なお、これには、大文字・小文字の区別はありません。
- mshr1962
- ベストアンサー率39% (7417/18945)
#2です。別回答 =FIND(ASC(MID(A1,4,1)),"ABCDEFGHIJKLMNOPQRSTUVWXYZ") FIND関数で4文字目が後の文字の何番目かを表示です。 A~Z以外の場合はエラー(#VALUE!)になります。 追記 a~zも対象にするならUPPER関数で小文字→大文字変換してください。
- mshr1962
- ベストアンサー率39% (7417/18945)
ここまでする必要があるか分かりませんが... B1=MOD(MIN(MAX(CODE(ASC(MID(A1,4,1)))-64,0),27),27) MID関数で4番目の文字を抽出 ASC関数で半角に統一 CODE関数でキャラクターコードに変換 A=65,B=66,Z=90 64を引いてA=1,B=2,Z=26 MAX関数でAより前の文字を0に統一 MIN関数でZより後の文字を27に統一 MOD関数で27を0に変更 これでA~Zが1~26、それ以外は0になります。
- mu2011
- ベストアンサー率38% (1910/4994)
無理やりですが次の方法は如何でしょうか。 "A"の内部コードを64としてその差分を数値として抽出しています。 =CODE(MID(A1,4,1))-64