• ベストアンサー

Excelにて任意の位置の文字列を抽出したい

Excelにて任意の位置の文字列を抽出したい セルA1に、あたい1(837,1077,132) セルA2に、あたい2(657,100,32) セルA3に、あたい3(20,10000,888) のような値が入っています。 ここから、132、32、888を取り出したいのですが、どのような式を入れたら良いでしょうか? Right関数だと上記のように桁数が2桁と3桁と混在している場合に抽出できませんでした。

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

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

こんにちは。 今回は、回答の後だしは関係ないようですね。 =REPLACE(LEFT(A1,LEN(A1)-1),1,FIND("^",SUBSTITUTE(A1,",","^",2)),"") 条件: 変化する部分としては、 ------------------------------------------- 変化する部分としては、 あたい1 ←数字 (837,1077,132) の中の数字の桁数 ------------------------------------------- 変化しない部分は、 カンマ(,)の数 括弧「(」と、閉じ括弧「)」と

その他の回答 (5)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

目的にもよりますが、一案です。 A列を、 カンマ(,)で区切ってわける方法です。 データ=>区切り位置・・・ でウィザードに従って カンマたタブなどの区切り文字に・・・ 次へ カンマにチェックを入れて 完了 A列のデータが カンマ(,)の位置で3つにセルに分けられます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

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),")",""),""))

noname#204879
noname#204879
回答No.3

=MID(SUBSTITUTE(LEFT(A1,LEN(A1)-1),",","#",2),FIND("#",SUBSTITUTE(LEFT(A1,LEN(A1)-1),",","#",2))+1,9)

  • GaradaK7
  • ベストアンサー率45% (54/118)
回答No.2

=SUBSTITUTE(RIGHT(A1,(LEN(A1)-FIND(",",A1,10))),")","") 先頭から10文字目以降に出てくる「,」の右側を全部取り出し、「)」を削除しました。 「,」や「)」が必ず半角でないとなりませんし、FIND関数の第三引数にも注意する必要があります。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

FIND関数で2つ目のカンマの位置を調べて MID関数で以後の文字を抽出 最後に閉じ括弧「)」を削っておわり

関連するQ&A

専門家に質問してみよう