-PR-

解決済みの質問

質問No.4675382
すぐに回答を!
すぐに回答を!
お気に入り投稿に追加する (1人が追加しました)
回答数4
閲覧数3692
【エクセル】セル内の文字列から数値のみを抽出する方法
A1●●●●1111
A2××××××222222
A3■■■■■■■■■■■1234567890

上記のように文字列と数値が一続きになっているデータが各セルに入っています。
文字列+数値の順番は決まっていますが、それぞれの文字数は決まっていません。数値はマイナスの場合もあります。
また、境にカンマやスペースなどもないため、テキストファイルウィザードも使えません。
このデータから、数値のみを抽出する方法がありましたらご教示下さい。
よろしくお願いします。
投稿日時 - 2009-01-30 22:17:49

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

回答No.4
No.3の方に似ていますが…。

=IF(ISERROR(FIND("-",A1))
,MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&"0123456789")),LEN(A1))
,MID(A1,FIND("-",A1),LEN(A1)))

(長くなってしまったので改行していますが、1行に入れてください)
これで数字部分の桁制限なく抜き出せるかと思います。
投稿日時 - 2009-01-31 00:49:43
この回答を支持する
(現在0人が支持しています)
お礼
ありがとうございました。目的の結果を得ることができました。数字部分の桁制限がなくなりさらに有益な情報でした。
投稿日時 - 2009-01-31 01:48:57
この質問は役に立ちましたか?
3人が「このQ&Aが役に立った」と投票しています

ベストアンサー以外の回答 (3)

回答No.3
配列関数案です。
B列に
=IF(ISERROR(FIND("-",A1)),MID(A1,MIN(FIND(ROW(A$1:A$10)-1,A1&"1234567890")),10),MID(A1,FIND("-",A1),10))
Ctrl+Shift+Enter で決定、下へコピィします。
或いは、
別の列に(仮にF列に)
F
-
1
2
3
・・・
0
と検索用の文字を入れておいて、B1に
=MID(A1,MIN(FIND(F$1:F$10,A1&"1234567890-")),10)
Ctrl+Shift+Enterで決定、下へコピィ
などでは如何でしょうか。
投稿日時 - 2009-01-30 23:33:59
この回答を支持する
(現在0人が支持しています)
お礼
ありがとうございました。目的の結果を得ることができました。
投稿日時 - 2009-01-31 01:47:19
回答No.2
この課題は難しい問題です。
A経験をつんで、定石を覚えるしかない。考え付く人はよほどの人。
BまたはVBA(またはそれを使うユーザー関数)で各桁文字を数字かどうか判別して、マイナスや数字出現桁を探すプログラムを組むとか。
Bのほうが素直なロジックで考えてプログラムを組める。
ーー
Aは
例 A6に
去年の売上は-234567
関数は
=MID(A6,MIN(FIND({"-","0","1","2","3","4","5","6","7","8","9"},A6&"-0123456789")),10)
のようなものだ。
第3引数の10を具体的にしたければ、LEN(A6)から
上記MIN以下の式の値を引いた式にする。
全角数字なら半角数字やマイナスの部分を全角数字やマイナスに変える。
投稿日時 - 2009-01-30 23:13:46
この回答を支持する
(現在0人が支持しています)
お礼
ありがとうございました。目的の結果を得ることができました。
投稿日時 - 2009-01-31 01:46:55
回答No.1
マクロの一例です。

Sub test1()
  Dim i As Integer
  For i = 1 To Len(ActiveCell.Value)
    With ActiveCell.Characters(i, 1)
      If .Text = "-" Or .Text Like "[0-9]" Then
        MsgBox Right(ActiveCell.Value, Len(ActiveCell.Value) - i + 1)
        Exit For
      End If
    End With
  Next i
End Sub
投稿日時 - 2009-01-30 23:08:39
この回答を支持する
(現在0人が支持しています)
お礼
早速のご回答ありがとうございました。
不勉強で申し訳ありませんが、マクロの知識がないためうまく使うことができませんでした。
投稿日時 - 2009-01-31 01:45:03
別のキーワードで再検索する
もっと聞いてみる

関連するQ&A

回答募集中

この他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する
-PR-

OKWaveのおすすめ情報

特集

同じカテゴリの人気Q&Aランキング

カテゴリ
Office系ソフト

回答のついた最新のQ&A

-PR-

ピックアップ

ノウハウ共有サイト

-PR-
-PR-