• 締切済み

Excel で 文字→数字変換

エクセルで文字→数字変換を行いたいのですが、 どのようにすればよいでしょうか? (やりたい例) あるセルの特定文字列位置の文字を数字に変換したい。 文字列先頭から4番目の文字を元に数値に変換する。 Aだと1と変換、Bだと2と変換、Cだと3と変換… A1:xxxBxxxx B1:2 うまく質問が表現できなくてすいません。 実現方法はVBAでも結構です(使ったことはありませんが)。

みんなの回答

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆こんな方法はいかがでしょうか =COLUMN(INDIRECT(MID(A1,4,1)&1))

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 任意の文字に対して数値に変換する場合は、表を用意してください。 $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)
回答No.3

#2です。別回答 =FIND(ASC(MID(A1,4,1)),"ABCDEFGHIJKLMNOPQRSTUVWXYZ") FIND関数で4文字目が後の文字の何番目かを表示です。 A~Z以外の場合はエラー(#VALUE!)になります。 追記 a~zも対象にするならUPPER関数で小文字→大文字変換してください。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

ここまでする必要があるか分かりませんが... 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)
回答No.1

無理やりですが次の方法は如何でしょうか。 "A"の内部コードを64としてその差分を数値として抽出しています。 =CODE(MID(A1,4,1))-64

関連するQ&A