- ベストアンサー
Excel 最後の括弧内のテキストのみを取出したい
質問させて頂きます。 Excelセル内の括弧内のテキストを取出したいのですが,セル内には丸括弧が一つの場合もあれば,2つ以上の場合もあります。 例えば下記のように: Excel(エクセル)のRIGHT関数は、文字列の末尾(右端)から指定された数の文字を返します。 この文章の最後の括弧内の「右端」のテキストのみを取り出す方法が知りたいです。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
"("の個数を確認する数式 =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)
バージョン問わない変わりに制限がある方法 =CLEAN(LEFT(SUBSTITUTE(RIGHT(SUBSTITUTE(A1,"(",REPT(CHAR(9),LEN(A1))),LEN(A1)),")",REPT(CHAR(9),LEN(A1))),LEN(A1)))
- Chiquilin
- ベストアンサー率30% (94/306)
Excelのバージョンを書いていない以上 最新とみなします。 =IFERROR(INDEX(FILTERXML("<a>"&SUBSTITUTE(SUBSTITUTE(A1,"(","<b>"),")","</b>")&"</a>","//b"),LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))),"")
- dogs_cats
- ベストアンサー率38% (278/717)
セル内の文字数が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)
ユーザ関数でやってしまうのが手っ取り早いと思います。 以下のコードを標準モジュールに入れ、セルに=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
お礼
ありがとうございました。 また,わかりやすい補足も含めて下さり感謝です!<(_ _)>