• ベストアンサー

エクセルで特定の範囲の文字列を抜き出したいのですが関数がわかりません。

エクセルで特定の範囲の文字列を抜き出したいのですが関数がわかりません。 抽出の条件は「セルの中の【 】でくくられた部分」(【】も含む)です。 各セル内の文字列はすべてこの【】から始まる文章で構成されているのですが、 【】内の文字数はそれぞれ違うという状態です。 文字数が固定の場合の関数は思いつくのですが、異なる場合がよくわかりません。 よろしくお願いします。

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

  • ベストアンサー
回答No.4

もうデータが固まっているのであれば、関数よりもエクセルの機能の「区切り位置」を使った方が便利ですよ。 2回に分けることになりますが、 区切り位置 ⇒ カンマやタブなどの~ ⇒  その他 にチェック及び横のボックスに 【 を入力 ⇒ 【を境に前後にデータが分かれるのでいらない列を選択しは削除にチェック ⇒ 完了 をやった後今度は 】 でやる あるいは【 】の前後に文字が入っていないのであれば、置換機能を使って【 及び 】を何もなしに置換するのが一番早いです。 列ごと選んで、 置換 ⇒ 検索する文字に【 ⇒ 置換後の文字に何も入れない ⇒ すべて置換 をやった後、】でもやる。 何も関数が早いor便利とは限りません。エクセルの機能をフルに使いましょう!

hydrangean
質問者

お礼

で、できました! データ数が100を超えていたので、一度に作業ができて感激です。 エクセルはあまり詳しくなく、「区切り位置」の機能は初めて使いました。 大変助かりました。 ありがとうございました!

その他の回答 (3)

回答No.3

以下の文字列がD5にあると仮定します。 "A0B0C0【XYZ012】D0E0F0" ここから"【XYZ012】"を取り出すのは =MID(D5,FIND("【",D5,1),FIND("】",D5,1)-FIND("【",D5,1)+1) で行けると思います。 ただし"【】"が必ず含まれるという前提です。

hydrangean
質問者

お礼

早々にご回答ありがとうございました。 おそらく私の説明が現実と乖離していたんだと思いますが なぜかうまくできませんでした。 でも、いただいた関数をベースにしたらできそうな気配です。 チャレンジしてみます。 ありがとうございました!

noname#204879
noname#204879
回答No.2

》 文字数が固定の場合の関数は思いつくのですが… その場合の貴方が「思いつく」関数を示してください。

hydrangean
質問者

お礼

MID関数とやらを使うんだな、とエクセルのヘルプを見て 思っていたのですが、【】の中の文字数はバラバラだし・・・、 という感じでした。 今回は関数ではなく、「区切り位置」の機能でいけそうです。 早々にご返信、ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

始めと終わりのカッコがそれぞれ実際に何文字目に出てくるのか関数で数えて,その範囲を切り取ります。 計算例: =MID(LEFT(A1,FIND("】",A1)),FIND("【",A1),999) #で。百聞は一見にしかずと言います。 頑張って言葉で説明するより,ひとつ「実際の具体的なサンプル」をそのままお手元のエクセルからコピーして掲示し,これから「これこれの結果が欲しい」とご相談に書いてみるといいです。

hydrangean
質問者

お礼

早々にご回答ありがとうございました。 おそらく私の説明が現実と乖離していたんだと思いますが なぜかうまくできませんでした。 おっしゃる通り、具体的な例を出さないと お答えいただく方が大変ですよね。 以降、そうさせていただきます。 いただいた関数をベースにまたチャレンジしてみます。 ありがとうございました!

関連するQ&A

  • エクセルの文字列を抽出する関数を教えてください!

    テキストファイルから文字列をエクセルに貼りつけ、ある条件の単語のみを抽出する関数について教えてください。 (1)あらゆる文字・記号で構成されている文章のうち、” ”(二重引用符)で囲まれた中のその文字列だけを抽出するには、どのような関数があるのでしょうか。 (2)ある文章は、 (文字数はバラバラの文章).1-文章.doc、 (文字数はバラバラの文章).2-文章.doc、  ・・・ となっているテキストがあるのですが、そのテキストのうち、「数字ー」の形式は同じなのですが、その「(数字)‐」以降「.doc」までの文章のみ抽出するには、どのような関数になるのでしょうか。 マクロは組めませんので、関数で教えて頂ければ幸いです。 宜しくお願いします。

  • セル内のある範囲の文字列を関数で抽出したいです

    すみません、以下のような文字列がセルにある場合に、エクセル関数を使って、特定する範囲の文字列を抜き出したいのですが、ご教示頂けませんでしょうか? A1セル:()で囲まれた文字列が先頭と末尾に含まれています。  (文字列1)文字列2(文字列3) A2セル:文字列2だけを抜き出したいです。  文字列2 あともし可能であれば、文字列2を抽出する際に(文字列3)の部分を、 A3セルに入っている文字列に変更したいのですが、 A3セル:たとえば、「1234567」と入っていた場合では、【】をつけて  文字列2【1234567】 という形に直したいという内容となります。 いろいろ試してみたのですがどうしてもできず、お力添え頂けませんでしょうか? 何卒宜しくお願い致します。

  • excel_特定のセル範囲で同じ文字列が有ったら色

    マクロ初心者です。 excel2002マクロ_特定のセル範囲で同じ文字列が有ったらその数によりセルを色分けしたい 特定のセル範囲で文字列が入っているところと空欄のところがあります。 空欄のところには、後から文字列が入るところと空欄のままのところがあります。 その範囲内で同じ文字列があった場合、2個の時、3個の時、4個の時、5個、6個、7個、8個、9個、10個以上の時に、それぞれ決めておいた色でセルを色分け表示したいです。 文字列の順番はランダムです。 excel2002なので、3種類までなら条件付き書式で設定できるのですが、それを超える場合は設定できません。 それで、これをマクロで設定できるでしょうか。 条件付き書式で設定した場合は、文字列を入力した時点でセルの色はすぐに反映されますが、マクロの場合もそのようにすることは可能でしょうか。 よろしくお願いします。

  • 指定した文字列が抽出できる関数

    Excelで、指定した文字列だけを抽出表示する場合、「文字列を先頭(左)から抽出する」などの関数は「LEFT関数」や「RIGHT関数」がありますが、位置の指定ではなく、文字列の中にある、特定の文字だけを指定して抽出してできる関数は何でしょうか? たとえば「ラーメン」「うどん」「そば」いずれかを「含む」文字列が入っているセルの中から、「うどん」のセルだけを抽出して表示するという場合です。

  • Excelで特定文字を数える

    Excelを使っています。 かなりのデータ(行・列ともに)があるのですが、 それぞれのセルの文字列の中にある”・”の数を数えて 別のセルに表示させたいのです。 文字列操作の関数に、文字列の中から特定文字を探し出し その位置を知らせる、というものは見つかったのですが、 上記のような条件に当てはまるものはみつかりませんでした。 どういった方法があるでしょうか。 よろしくお願いします。

  • EXCEL関数 特定の文字列間の文字の抽出について

    こんにちは。 Excelでセルの中の、特定の文字列と文字列の間にある文字列を抜き出せる関数がありましたら教えてください! 例:A1セルに、 「~  error_message: エラーが発生しました。  detailed_description: ~  ~」 と記載されています。 「error_message: 」と「detailed_description:」の間にある文字(この場合「エラーが発生しました。」)を抽出したいです。 ※間にある文字の内容、文字数は一定ではないです。 なかなかうまく行かず、苦労しています。。。 ご教示ください。よろしくお願いいたします。

  • エクセル 特定の文字列を抽出・挿入

    例えば A列にあるセルの中から特定の文字列を検索・抽出して、その特定の文字列だけB列に挿入していく関数はありますか? またはA列にあるセルの中から特定の文字列に挟まれた文字列を検索・抽出してその特定の文字列だけB列に挿入していく関数はありますか? マクロを組まないと難しいのでしょうか?

  • URLの特定の文字をセルに抜き出す

    芸能人のBLOGをExcelでまとめているのですが 以下のURLの【xanadu11】部分のみ、特定セルに抽出したいのですが どのような関数?を利用すれば良いのでしょうか? <例> A2セル内に【http://ameblo.jp/xanadu11/】 B2セル内に【xanadu11】 A3セル内に【http://ameblo.jp/yamada-yu/】 B3セル内に【yamada-yu】 抽出したい文字列の前は固定ですが、 抽出したい部分の文字数は決まっておりません。 宜しくお願いいたします。

  • Excelの文字数が決まっていない文字列の抽出

    教えてください。Excelで、文字数の決まっていない文字列を抽出したいのですが、例えば、 セルA1 : プロジェクト1 簡単な文章 2352 PD_JOK セルA2 : プロジェクト13 複雑な文章列とは決まっていない 2453 AO_JKI ・・・・・・ というセルから、 プロジェクト名から、半角数字前までの文字数が決まっていない文字列「簡単な文章」や「複雑な文章~」をセルB列に抽出する方法を教えていただきたいのですが、 そして、半角数字後の半角英字「PD_JOK」をセルC列に抽出する方法も同時に教えてください。 万単位でデータがあるので、関数を使わないと難しいです。 よろしくお願い致します。

  • EXCEL関数 特定の文字列以降の文字の抽出について

    こんにちは。 以前にも似たような質問をしたのですが、 Excelでセルの中の、特定の文字列以降の文字列を全て抜き出せる関数がありましたら教えてください! 例:A1セルに、 「~  detailed_description: ~  ~」 と記載されています。 「detailed_description:」以降の文字(「detailed_description:」は含まない)を抽出したいです。 ※(「detailed_description:」以降の文字数は一定ではないです。 今回もなかなかうまく行かず、苦労しています。。。 ご教示ください。よろしくお願いいたします。

専門家に質問してみよう