プロが教える店舗&オフィスのセキュリティ対策術

気力が(消え失せる)こと。
上記のような文があるとして、
( )の前後の「気力が」のところ
後ろの「こと。」を削除して
(消え失せる)だけを残す関数はありますか。
但し、データが1500件ほどあり、一定の字数の文
ではありませんし。一定の所に( )がある訳でもありません。

A 回答 (6件)

1レコードに一対しか()がない場合


=mid(A1,find("(",A1),find(")",A1)-find("(",A1)+1)
    • good
    • 1
この回答へのお礼

この関数でできました。有り難うございました。助かりました。

お礼日時:2019/05/15 18:04

VBAで解決しそうですが、



このご質問というのは、「前後の文字削除する」ということで、
>気力が(消え失せる)こと。

カッコの中を抜き出すのではないでしょうか。

現行では、1個しか抜き出しませんが、内容が変われば、複数を抜き出すことも可能です。
ただし、文章の解析が必要な場合は、全面的に直さないといけないかもしれません。

'//標準モジュール
Sub Test_ReExp()
'使い方は、データの一番上にカーソルを置き、マクロを実行する
 Dim Rng As Range, col As Long, rw As Long
 Dim Re As Object
 Dim Matches As Object, Match As Object
 Dim c
 Set Re = CreateObject("VBScript.RegExp")
 With Re
  .Pattern = "[\((](.+)[\))]" '正規表現パターン
  .Global = True
  .IgnoreCase = False
 End With
  With ActiveCell
  rw = .Row
  col = .Column
 End With

 Set Rng = Range(Cells(rw, col), Cells(Rows.Count, col).End(xlUp))
 For Each c In Rng
  If Re.test(c.Value) Then
   c.Offset(, 1).Value = Re.Execute(c.Value).Item(0).SubMatches(0)
  End If
 Next
End Sub
    • good
    • 1
この回答へのお礼

このマクロでもきました。有り難うございました。助かりました。

お礼日時:2019/05/15 18:04

添付図面参照


B1: =FIND("(",A1)
C1: =FIND(")",A1)
D1: =MID(A1,B1,C1-B1+1)
「Excel2013 関数 前後の文字削除」の回答画像5
    • good
    • 2
この回答へのお礼

有り難うございました。

お礼日時:2019/05/15 18:04

>一定の字数の文ではありませんし。

一定の所に( )がある訳でもありません
これでは、目を瞑って石を投げるようなもので、どこに当たるか解りません。
エクセルでは出来ないと思います。
    • good
    • 0
この回答へのお礼

有り難うございました。

お礼日時:2019/05/15 18:04

セルにひとつずつなら、データの区切り位置を使うかな。


一番簡単。
「Excel2013 関数 前後の文字削除」の回答画像2
    • good
    • 0
この回答へのお礼

有り難うございました。

お礼日時:2019/05/15 18:05

文章がどんな風になってるかサンプル見せてください。


1セルに何個もかっこが出てくるのか?
それとも1セルにはかっこが一つだけなのか?
    • good
    • 0
この回答へのお礼

有り難うございました

お礼日時:2019/05/15 18:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!