重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセル2000で文字列から数値を抽出したい。
ワークシートのA列に下記の文字列が入力されています。

A1セル="123456 日本男子 54,321 7,654,321 12,345"
A2セル="234567 東京都子 1,234 2,345 5,321"
A3セル="345678 大阪太郎 99 689 9,876"

データ間はスペースで区切られています。
後方2番目の数値をB列に取出す方法を教えて下さい。

B1セル=7,654,321
B2セル=2,345
B3セル=689

よろしくお願い致します。

A 回答 (4件)

>後方2番目の数値をB列に取出す方法を教えて下さい。


=TRIM(LEFT(RIGHT(SUBSTITUTE(A1," ",REPT(" ",100)),200),100))*1

◆前から4番目の数値ならば、
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",100)),3*100-99,100))*1
    • good
    • 0
この回答へのお礼

スマートな回答ありがとうございました。
参考にさせてもらいます。

お礼日時:2010/06/07 21:44

[回答番号:No.2]の maron--5さんの短い式は実にお見事ですが、[回答番号:No.1]の keithinさんの別解として次式を挙げておきます。



=MID(A1,FIND("_",SUBSTITUTE(A1," ","_",2))+1,FIND("_",SUBSTITUTE(A1," ","_",3))-FIND("_",SUBSTITUTE(A1," ","_",2)))+0
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2010/06/07 21:45

VBA(マクロのユーザー定義関数)を使ってもいいなら


VisualBasicEditorの標準モジュールに下記のコードをコピーして
Function SS(文字 As String, 区切り As String, 番号 As Integer)
Dim XX As Variant
On Error GoTo ERR_SS
XX = Split(文字, 区切り)
SS = XX(番号 - 1)
Exit Function
ERR_SS:
SS = ""
End Function

B1=SS(A1," ",4)
B2=SS(A2," ",4)
B3=SS(A3," ",4)
    • good
    • 0
この回答へのお礼

VBAでの回答ありがとうございます。
参考にさせてもらいます。

お礼日時:2010/06/07 21:45

一般にはデータメニューの区切り位置で「カンマやスペース」から次々進め,スペースで区切った4列目のデータを答えとして取り出すのが一番簡単な方法です。



どうしても関数が良いなら
=MID(LEFT(TRIM(ASC(A1)),FIND("zzz",SUBSTITUTE(TRIM(ASC(A1))," ","zzz",4))),FIND("zzz",SUBSTITUTE(TRIM(ASC(A1))," ","zzz",3))+1,99)

結果を「数値」にしたいなら,さらに
=MID(LEFT(TRIM(ASC(A1)),FIND("zzz",SUBSTITUTE(TRIM(ASC(A1))," ","zzz",4))),FIND("zzz",SUBSTITUTE(TRIM(ASC(A1))," ","zzz",3))+1,99)+0
など。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせてもらいます。

お礼日時:2010/06/07 21:43

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