アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル又はアクセスで、指定文字 ( と、指定文字 )の間の文字を抽出の方法が知りたいです。横列に長い文があり、その中の カッコ 例(12345)の、12345の部分を抽出したいのですが、方法をお教えいただけませんでしょうか? ()が、指定文字です。縦列には数百あります。

A 回答 (3件)

・関数で出す


・プログラムで出す
・プログラムでも正規表現という仕組みを使う
・検索のソフトなどでこういうタイプが出来るものを使う
などあると思います。
ーーー
質問者のレベルがどのへんかわからないが。
1つ(()内1組だけ)だけなら何とか関数で出来る。
例文 A1セル
あす集合時刻(10:00)に間に合うように公園に集合

=MID(A1,FIND("(",A1),FIND(")",A1)-FIND("(",A1)+1)
結果
(10:00)
但し( や )がない場合の手当てをすると式が長くなる。
又(と)のペアでない場合とかをチェックも。
=IF(AND(COUNTIF(A1,"(")>0,COUNTIF(A1,")")>0),"","X")を前にかぶせて、”X”のところに上記の式を挟む。
    • good
    • 1
この回答へのお礼

参考になりました。ありがとうございました。

お礼日時:2011/10/12 20:56

このようなケースではワイルドカードを使った置換を利用するのが簡単です。



対象範囲を選択して、Ctrl+Hで置換ダイアログを出して、検索する文字列に「*(」置換j後の文字列には何も入力せず「すべて置換」します。そのままもう一度、検索する文字列に「)*」と入力して「すべて置換」すればご希望のデータになっています。
    • good
    • 1
この回答へのお礼

確かに置換でも簡単にできますね。ありがとうございました。

お礼日時:2011/10/12 21:04

エクセルの一例です。


A列がデータ、括弧記号は半角、以下の数式を任意セルに入力、下方向にコピー
括弧がない場合は、空白としています。
=IF(COUNTIF(A1,"*(*)*"),MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1),"")

因みに抽出結果をデータとしたい場合、抽出結果範囲をコピー→貼り付け先で形式を選択して貼り付け→値を選択→OKとして下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。このように考えて組み立てるのですね。思いつきませんでした。助かりました。初心者なので、またご教授お願いします。

お礼日時:2011/10/12 19:01

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