• ベストアンサー

エクセルでの抽出の仕方

2桁、3桁の数字と3桁にだけついているアルファベットがあります。数字はそのままでアルファベットを消すというか数字だけ抽出する方法がありましたら教えてください。 例 75 100 100M 100B 55 で、数字だけにしたいです。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.9

No.4は間違いでした。 少し手順が増えます。 まず、まったく関係ない列(他のシートでもOK)に、 A B C ・ ・ ・ Y Z と半角大文字のアルファベットを全部(26文字)入力し、その範囲を範囲選択します。 そしたら、メニューの[挿入]→[名前]→[定義]でその範囲に名前を付けます。 とりあえず「アルファベット」という名前にします。 そしたら、表示するセルに、 =LEFT(A1,MIN(FIND(アルファベット,UPPER(ASC(A1)) & CONCATENATE(アルファベット)))-1) と入力して、No.4と同様に、[Ctrl]+[Shift]+[Enter]で配列数式にします。 もしこれでダメなら、実際にダメだった例を載せて下さい。 (1)元の値 (2)期待する値 (3)実際に関数で変換された値

kupichan
質問者

お礼

できました。こんなに親切に教えていただき 本当にありがとうございました。

その他の回答 (8)

  • AQUALINE
  • ベストアンサー率33% (18/53)
回答No.8

No5の修正です。今度はいかが? =VALUE(SUBSTITUTE(A1,IF(ISNUMBER(VALUE(RIGHT(A1,1))),"",RIGHT(A1,1)),""))

回答No.7

#6の訂正です。 =VALUE(IF(ISNUMBER(VALUE(A1)),A1,LEFT(A1,LEN(A1)-1))) でどうでしょう。

回答No.6

数字の後のアルファベットは1文字のみですか? =VALUE(IF(ISNUMBER(A1),A1,LEFT(A1,LEN(A1)-1))) でどうでしょう?

  • AQUALINE
  • ベストアンサー率33% (18/53)
回答No.5

失礼。数字にするんでしたね。 下記では数字ですが文字列としての数字表示でした。 通常に数字として表示するなら =VALUE(SUBSTITUTE(A1,IF(ISNUMBER(RIGHT(A1,1)),"",RIGHT(A1,1)),"")) にしてください。

kupichan
質問者

補足

ん~、予定の数字にならない。。。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

>2桁にもアルファベットついてました。 とりあえず、何桁かの数字+アルファベット(ない場合もあり)というパターンをすべて、数字のみ取り出す方法です。 A1にデータがあるとすると、取り出すセルの数式バーに、 =LEFT(A1,MAX(IF(ISERROR(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1))),0,FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1))))) と入力して、まだ数式バーにカーソルがある状態で、[Ctrl]と[Shift]を押しながら[Enter]を押します。 (数式の両端に「{}」が付き、配列数式になります。)

kupichan
質問者

補足

予定どうりにいかない・・・

  • AQUALINE
  • ベストアンサー率33% (18/53)
回答No.3

A列にデータが入っており、数字の末尾の1文字だけが文字であった場合、その文字を消します。文字が無い場合はそのまま表示します。数字は何桁にでも対応できます。 =SUBSTITUTE(A1,IF(ISNUMBER(RIGHT(A1,1)),"",RIGHT(A1,1)),"") この式を表示したいセルに入れて、そのまま下にコピーしてください。

kupichan
質問者

補足

100が10になっちゃう・・・

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 No.1の人の補足ですが、 IF文による条件分岐は不要です。 =VALUE(LEFT(A1,3)) でも同じ結果になります。

kupichan
質問者

補足

ありがとうございます。すみません、質問自体間違えてました。2桁にもアルファベットついてました。どうすればよいでしょうか?

  • moon_myu
  • ベストアンサー率33% (39/118)
回答No.1

A列にデータが入っているとしますね。 A列の数値が3桁以上のみ末尾にアルファベットが付くんですよね。 =IF(A1>=100,VALUE(LEFT(A1,3)),A1) という関数が使えますが、どうでしょうか?

kupichan
質問者

補足

すみません。質問自体間違えてました。 良く観たら2桁の数字にもアルファベットがついてました。どうすればよいでしょうか?