[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『かっこ内の文字のみ抽出したい』(家政婦ミタ)
お世話になります。 エクセルの文字抽出で教えてください。 文字列の中で、カッコ内の文字のみ抽出をしたいのですがどうしたらいいのでしょうか? 例 変換前 aaaa(○○○○) bbb(▲▲▲▲▲▲) cccccccccccc(◆◆◆) aaaa(○○○○(ああ)) ・ ・ ・ 変換後 ○○○○ ▲▲▲▲▲▲ ◆◆◆ ○○○○(ああ) ・ ・ ・
かっこ前の文字数、かっこ後の以降の文字数、カッコ内の文字数も不統一です。 またかっこの中にかっこがある場合がありますが、その際は外のかっこのみを外したいです。 かっこは”( ”、”)”のみです。 過去質問を拝見しましたが、よくわかりませんでしたので、 よろしくお願いいたします。 WinXP,エクセル2007です。
どうぞよろしくお願いいたします。
こんなのでどうかな? セル内の文字列が50文字以内の場合だよ。 50文字より多く入力するんだったらROW($1:$50)の50を大きくしてね。
=IFERROR(REPLACE(LEFT(A1,MATCH(1,INDEX(0/(MID(A1,ROW($1:$50),1)=")"),0),1)-1),1,FIND("(",A1),""),"") (春日野馨)
およびじゃないだろうけど、UDF版。
=GetValue(A1) 等
で、標準モジュールに
Function GetValue(c As Excel.Range) As String Dim n1 As Long, n2 As Long n1 = InStr(c.Value, "(") n2 = InStrRev(c.Value, ")") If n1 > 0 And n2 > 0 Then GetValue = Mid(c.Value, n1 + 1, n2 - n1 - 1) End If End Function
(ぶらっと)
括弧が文字列の途中になくて最後にあるんなら
=MID(LEFT(A1,MAX(1,LEN(A1)-1)),FIND("(",A1&"(")+1,100)
(GobGob)
>かっこ前の文字数、かっこ後の以降の文字数、カッコ内の文字数も不統一です。
勘違いだねw。
=MID(LEFT(A1,MAX(1,-LOOKUP(1,-FIND(")",")"&A1,ROW($1:$100)))-2)),FIND("(",A1&"(")+1,100)
=IFERROR(MID(LEFT(A1,-LOOKUP(1,-FIND(")",A1,ROW($1:$100))-1)),FIND("(",A1)+1,100),"")
※不具合あったんで12:59訂正
(GobGob)
春日野馨さん、ぶらっとさん、GobGobさん 早速の回答ありがとうございました。 =MID(LEFT(A1,MAX(1,-LOOKUP(1,-FIND(")",A1&")",ROW($1:$100)))-2)),FIND("(",A1&"(")+1,100) で無事出来ました!!! 感謝!感謝! (家政婦ミタ)
その数式は具合悪いんで
=MID(LEFT(A1,MAX(1,-LOOKUP(1,-FIND(")",")"&A1,ROW($1:$100)))-2)),FIND("(",A1&"(")+1,100)
こっち使ってね〜 (前回答で修正したやつ)
(GobGob)
=TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,"(",REPT(" ",100),1),")",REPT(" ",100),MAX(LEN($A1)-LEN(SUBSTITUTE($A1,")","")),1)),100,100))
名無しさんみたいに配列数式でないなら
=MID(LEFT(A1,FIND("嘘",SUBSTITUTE(A1&")",")","嘘",MAX(1,LEN(A1)-LEN(SUBSTITUTE(A1,"(","")))))-1),FIND("(",A1&"(")+1,100)
でもいいね
※「嘘」は実際使われてない文字で。
(GobGob)
じゃ、これは?
=MID(A1,FIND("(",A1)+1,FIND("@",SUBSTITUTE(A1,")","@",LEN(A1)-LEN(SUBSTITUTE(A1,")",))))-FIND("(",A1)-1)
(234) 2015/01/27(火) 11:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.