• ベストアンサー

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

  • 特定文字列の抽出

    VB6の質問です。 桁数、データが不定の文字列中から特定文字を抽出したいのでが、方法を教えていただけないでしょうか? 抽出したいデータの桁数が毎回不定でMid, Left, Right関数が使用できません。 Dim Buffer As String Buffer = "A12345...B678910.TRAGET..C" '桁数、データが不定の文字列がBufferに入ります。 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したのです。 InStr関数で、位置を特定して、Mid関数などで抽出するれば、良いと思うのですが これをどんな桁数のときも対応できるようにルーチン化にできないでしょうか?

  • 指定した文字列が抽出できる関数

    Excelで、指定した文字列だけを抽出表示する場合、「文字列を先頭(左)から抽出する」などの関数は「LEFT関数」や「RIGHT関数」がありますが、位置の指定ではなく、文字列の中にある、特定の文字だけを指定して抽出してできる関数は何でしょうか? たとえば「ラーメン」「うどん」「そば」いずれかを「含む」文字列が入っているセルの中から、「うどん」のセルだけを抽出して表示するという場合です。

  • エクセルで文字列の最大値を抽出する方法

    文字列の最大値を抽出したいのですが 4つのセルにA、B、C、Dが入力されている場合の文字列の最大値Dを抽出する関数式を知りたい エクセルヘルプで見るとMAXAとなっていたのですが抽出する答えは”0”となってしまいます。

  • EXCELで文字列の特定の文字の位置を知る方法

    EXCELで文字列の特定の文字の位置を知る方法 EXCELでセル中の文字列、例えば、"abc 4/3 5/5 6/4" の最後の"/"の位置を知る方法を関数の組み合わせで出来ますか? 教えてください。"/"の数は任意で最後の"/"の位置を知りたいのですが??? どうかよろしくお願いします。VBAでなく関数の組み合わせでお願いします。

  • Excelで文字列の抽出をしたいので教えてください

    Excelで下記の文字列を抽出したいのですがどなたか教えてください 例) - abcdef xxxx ---- この場合任意の文字桁も不明で最初のブランクの後のabcdefを抽出 -- abc -- def zzz この場合任意の文字,桁も不明で2回目の'--'後のdefを抽出したいのですが宜しくお願いします

  • エクセルで文字列の5桁目が9なら0に変更

    エクセル初心者です。 インターネットで調べてみたのですが、同様の質問にヒットしませんでしたので、教えてください。 A列に8桁の会員番号が文字列で表示されています。 この8桁のうち右側の5桁を関数(RIGHT(a8,5))でB列に抽出しています。 抽出された5桁の数字ですが、最上位桁が9の場合、0に変えたいのです。 A        B 01004567    04567  02015678    15678 03098765    98765 → 9を0に入替して「08765」と表示 このような対応が出来る関数を調べたのですが分かりませんでした。 ご教示のほど、よろしくお願いします。

  • Excelで複数の文字列を抽出する方法

    Excel 2007で列に、[xxxA],[xxxB],[xxxC]... といった文字列があります。 例えば、この文字列の右端が、[A]か[B]で終わる文字列のみを抽出する方法をご教授ください。 一つの文字列であれば、RIGHT関数で抽出できたのですが、2つ以上の抽出方法が判りません。 どうぞよろしくお願いいたします。

  • Excelでハイフンが入った文字列の抽出について

    A列に『12-1』、『1-5-10』、『14-15-6-3』など1桁また2桁の数字がハイフンで区切られた文字列があるとします。 そこからB列には左から2番目の数字、C列には右から2番目の数字、D列には1番右端の数字を関数で抽出したいのですが、出来ないでしょうか。 全部半角で、必ず数字は二つ以上あり、桁数は2桁までです。下記の画像のようにしたいです。 http://uproda.2ch-library.com/801593yFu/lib801593.jpg

  • EXCELで、文字列を任意の文字数毎に分割するには

    ≪やりたい内容と条件≫ ◆EXCELで、文字列を任意の文字数毎に分割したいです。 ◆文字列は、全角・半角・記号を含みます。 ◆1つのセルが半角80桁という制限があり、その上限を超えると、右の次のセルに流し込まれるようにしたいです。(A1は元の文字列1500桁くらい、以降B1,C1,D1,E1・・・という具合に流し込み) ≪試した内容≫ MIDB関数を見つけ挑戦しましたが、1つ目のセルはうまくいきますが、その後が出来ません。例えば、文字列が「・・・・・・abcあいうえお」となっていた場合、B1は「・・・・・・abcあいう」、C1は「 お」(「お」の前は、半角スペース)となります。 何かよい方法はないでしょうか。 一度に出来ないようであれば、A1-B1で残りの文字列が表示できれば、それ以降はまた関数を入れて一つ一つやっていきたいと思っています。 よろしくお願いいたします。

  • Excelの文字数が決まっていない文字列の抽出

    教えてください。Excelで、文字数の決まっていない文字列を抽出したいのですが、例えば、 セルA1 : プロジェクト1 簡単な文章 2352 PD_JOK セルA2 : プロジェクト13 複雑な文章列とは決まっていない 2453 AO_JKI ・・・・・・ というセルから、 プロジェクト名から、半角数字前までの文字数が決まっていない文字列「簡単な文章」や「複雑な文章~」をセルB列に抽出する方法を教えていただきたいのですが、 そして、半角数字後の半角英字「PD_JOK」をセルC列に抽出する方法も同時に教えてください。 万単位でデータがあるので、関数を使わないと難しいです。 よろしくお願い致します。

専門家に質問してみよう