- ベストアンサー
Excelにて任意の位置の文字列を抽出したい
Excelにて任意の位置の文字列を抽出したい セルA1に、あたい1(837,1077,132) セルA2に、あたい2(657,100,32) セルA3に、あたい3(20,10000,888) のような値が入っています。 ここから、132、32、888を取り出したいのですが、どのような式を入れたら良いでしょうか? Right関数だと上記のように桁数が2桁と3桁と混在している場合に抽出できませんでした。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 今回は、回答の後だしは関係ないようですね。 =REPLACE(LEFT(A1,LEN(A1)-1),1,FIND("^",SUBSTITUTE(A1,",","^",2)),"") 条件: 変化する部分としては、 ------------------------------------------- 変化する部分としては、 あたい1 ←数字 (837,1077,132) の中の数字の桁数 ------------------------------------------- 変化しない部分は、 カンマ(,)の数 括弧「(」と、閉じ括弧「)」と
その他の回答 (5)
- hallo-2007
- ベストアンサー率41% (888/2115)
目的にもよりますが、一案です。 A列を、 カンマ(,)で区切ってわける方法です。 データ=>区切り位置・・・ でウィザードに従って カンマたタブなどの区切り文字に・・・ 次へ カンマにチェックを入れて 完了 A列のデータが カンマ(,)の位置で3つにセルに分けられます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
RIGHT関数は右からの文字を抽出しますので最後にカッコが入った文字となって成功しませんね。 最後の数値が2桁または3桁と決まっているのでしたら次の式をB1セルに入力して下方にドラッグコピーしてもよいでしょう。 =IF(A1="","",IF(MID(A1,LEN(A1)-4,1)=",",MID(A1,LEN(A1)-3,3),IF(MID(A1,LEN(A1)-3,1)=",",MID(A1,LEN(A1)-2,2),""))) どうしてもRIGHT関数を使うのでしたら次のような式でもよいでしょう。 =IF(ISNUMBER(SUBSTITUTE(RIGHT(A1,4),")","")*1),SUBSTITUTE(RIGHT(A1,4),")",""),IF(ISNUMBER(SUBSTITUTE(RIGHT(A1,3),")","")*1),SUBSTITUTE(RIGHT(A1,3),")",""),""))
=MID(SUBSTITUTE(LEFT(A1,LEN(A1)-1),",","#",2),FIND("#",SUBSTITUTE(LEFT(A1,LEN(A1)-1),",","#",2))+1,9)
- GaradaK7
- ベストアンサー率45% (54/118)
=SUBSTITUTE(RIGHT(A1,(LEN(A1)-FIND(",",A1,10))),")","") 先頭から10文字目以降に出てくる「,」の右側を全部取り出し、「)」を削除しました。 「,」や「)」が必ず半角でないとなりませんし、FIND関数の第三引数にも注意する必要があります。
- Cupper
- ベストアンサー率32% (2123/6444)
FIND関数で2つ目のカンマの位置を調べて MID関数で以後の文字を抽出 最後に閉じ括弧「)」を削っておわり