• ベストアンサー

Excelで複数の条件でデータを抽出したいのですが上手くいきません(ToT)

Excelで複数の条件でデータを抽出したいのですが、どうしても上手くいかず、質問させていただきました。 ナガシマスパーランド ナガシマスパーランド(三重県) ナガシマスパーランド(三重 東京ディズニーランド 東京ディズニーランド(千葉県) 東京ディズニーランド(千葉 ハウステンボス ハウステンボス(長崎県) ハウステンボス(長崎 ・ ・ ・ といったデータがあるのですが、この中から、 ナガシマスパーランド(三重県) 東京ディズニーランド(千葉県) ハウステンボス(長崎県) と、県名が「()」(←半角カッコの始めと終わり)で囲まれているデータのみを抽出し、別の行にそれらのデータを貼り付けたいのですが、 下記URL↓ http://dreamy.boy.jp/tec3_16.htm のやり方等を試しても、どうしうてもうまくいきません(ToT) (「該当なし」と判断されてしまうのでしょうか、検索条件範囲に項目名と「(」と「)」を含むセル範囲を選択しても、結果は、一つもデータが表示されない状態が返されてしまいます。) 「(」と「)」の2つの文字列を含むデータのみを抽出するには、どうすればよいのでしょうか? 関数を使えばいいのでしょうか?

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! オートフィルタのオプションを使えば出来ると思います。 データ内のセルをアクティブにして データ → フィルタ → オートフィルタ 下向き▼が表示されますので、その中の「オプション」を選択 ワイルドカードを使って *(*)* と「等しい」 → OK これで「(」と「)」 が含まれている物が表示されますので コピー&ペーストすればOKかと思います。 尚、貼り付ける場所が元のデータと同じ行に貼り付けると すべて表示されませんので、出来れば行をまったく変えるとか 別Sheetをオススメします。 以上、参考になれば幸いです。m(__)m

dj-s
質問者

お礼

わざわざ画像まで(>_<) ありがとうございます<m(__)m> オートフィルタのオプションを探すのに戸惑いましたが、「データ→フィルタ→テキストフィルタ→ユーザー設定フィルタ→オートフィルタオプション」と経由すると、検索ボックスのようなものが出てきて「*(*)*」を入力したらすぐ抽出することができました! ほんとありがとうございます!!

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

一例です。 仮にA列がデータとして、任意セルに数式を設定、下方向にコピーして下さい。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(COUNTIF(A:A,"*(*)*")>ROW(A1)-1,INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH("(*)",$A$1:$A$10)),ROW($A$1:$A$100),99999),ROW(A1))),"")

dj-s
質問者

お礼

配列数式ですか!? むむむ~もう少し私は勉強が必要みたいですね、muさんが記載してくださった数式をじっくり考えてみます<m(__)m>

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.4

Sheet1のデータを抽出してSheet2へ表示させるとして、 補助列を使用してみては如何でしょうか? データがSheet1のA1:A10にあるとして B1へ =IF(COUNTIF(A1,"*(*)"),COUNTIF(A$1:A1,"*(*)"),"") を、オートフィルで下へ Sheet2のA1へ(B2でもOK) =IF(COUNTIF(Sheet1!B$1:B$10,ROW(A1)),INDEX(Sheet1!A$1:A$10,MATCH(ROW(A1),Sheet1!B$1:B$10,0)),"") を、オートフィルで下へで、*(*) のある行をSheet2へ表示できます。

dj-s
質問者

お礼

関数を使うやり方はカッコいいですよね! 私には少し難しいようなので、もう少し時間を使って、turuzouさんが書いてくださった数式を紐解いていきたいと思います(@_@;)

  • Hachi5592
  • ベストアンサー率36% (252/698)
回答No.3

(1)一連の文字列の上の行に見出しをつけます。仮に「見出し」とします。 (2)「見出し」のセルを選択します(データのどの行でもいいです) (3)メニューバーの「データ」→「フィルタ」→「オートフィルタ」を選びます (4)ドロップダウンリストのマーク(下向き三角)が現れるので、それをクリックし、「(オプション..)」を選択します (5)「見出し」の下のボックスに「(*)」(カギ括弧は除く)を入力します(括弧はデータに合わせ全角/半角を区別します。*はワイルドカードでアスタリスクを半角で入力します) (6)「と等しい」部分を「を含む」と選択し直し、「OK」を押します (7)これで目的のデータが抽出されますので選択し、別のシートにコピーします これで如何でしょう?目的が違っていましたらごめんなさい。

dj-s
質問者

お礼

できました! 「ワイルドカード」と呼ばれるものを初めて知りました、ありがとうございます<m(__)m>

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

リスト範囲:項目名「名称」   名称 ナガシマスパーランド ナガシマスパーランド(三重県) ナガシマスパーランド(三重 東京ディズニーランド 東京ディズニーランド(千葉県) 東京ディズニーランド(千葉 ハウステンボス ハウステンボス(長崎県) ハウステンボス(長崎 抽出条件範囲:項目名「名称」   名称   *(*) <指定した範囲をプロット・抽出範囲を任意のセルとする>お好みで。 ではどうかな?

dj-s
質問者

お礼

できました! 私が見つけたURLのやり方でも可能でした、なるほど、「*=ワイルドカード」と呼ばれるもので「どんな値が入ってもいいですよ」と、指定しなければならなかったんですね~(>_<) ご指導ありがとうございます<m(__)m>

関連するQ&A