• ベストアンサー

Excel 最後の括弧内のテキストのみを取出したい

質問させて頂きます。 Excelセル内の括弧内のテキストを取出したいのですが,セル内には丸括弧が一つの場合もあれば,2つ以上の場合もあります。 例えば下記のように: Excel(エクセル)のRIGHT関数は、文字列の末尾(右端)から指定された数の文字を返します。 この文章の最後の括弧内の「右端」のテキストのみを取り出す方法が知りたいです。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

"("の個数を確認する数式 =LEN(A1)-LEN(SUBSTITUTE(A1,"(","")) n番目の"("を"|"に置き換えるには =SUBSTITUTE(A1,"(","|",n) 最後の"("の位置を求めるには =FIND("|",SUBSTITUTE(A1,"(","|",n)) 最後の括弧内の「右端」のテキストのみを取り出す方法 =RIGHT(LEFT(A1,LEN(A1)-1),LEN(A1)-FIND("|",SUBSTITUTE(A1,"(","|",LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))))-1)

その他の回答 (4)

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.5

バージョン問わない変わりに制限がある方法 =CLEAN(LEFT(SUBSTITUTE(RIGHT(SUBSTITUTE(A1,"(",REPT(CHAR(9),LEN(A1))),LEN(A1)),")",REPT(CHAR(9),LEN(A1))),LEN(A1)))

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.4

Excelのバージョンを書いていない以上 最新とみなします。 =IFERROR(INDEX(FILTERXML("<a>"&SUBSTITUTE(SUBSTITUTE(A1,"(","<b>"),")","</b>")&"</a>","//b"),LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))),"")

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.3

セル内の文字数が254文字までしか対応出来ないのですが、下記方法でも可能なのはず。 =LEFT(RIGHT(A1,SUMPRODUCT(ISERROR(FIND("(",RIGHT(A1,ROW($A$1:$A$254))))*1)),FIND(")",RIGHT(A1,SUMPRODUCT(ISERROR(FIND("(",RIGHT(A1,ROW($A$1:$A$254))))*1)))-1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

ユーザ関数でやってしまうのが手っ取り早いと思います。 以下のコードを標準モジュールに入れ、セルに=fLast(A1) の様に入力してみて下さい。 なお、このユーザ関数は括弧がちゃんと閉じていない場合などを考慮していない手抜き版です。 悪しからず。 Function fLast(sData As String) As String   Dim sWork1   Dim sWork2      '括弧を半角に統一   sData = Replace(Replace(sData, "(", "("), ")", ")")      sWork1 = Split(sData, "(")   sWork2 = Split(sWork1(UBound(sWork1)), ")")   fLast = sWork2(0) End Function

jasuman
質問者

お礼

ありがとうございました。 また,わかりやすい補足も含めて下さり感謝です!<(_ _)>

関連するQ&A