エクセルのマクロで複数行の抽出を一気に行いたい

このQ&Aのポイント
  • エクセルのマクロを使用して、複数行の抽出を一気に行いたいです。具体的には、シート1のA3~U102に登録されている習い事の中から、該当する人のA列を抜き出したいです。Q列からS列に習い事が登録されており、同じ習い事でも複数列に分かれてしまっています。現在は検索を使って抽出していますが、手作業で時間がかかってしまいます。
  • エクセルのマクロを使って、複数行の抽出を効率的に行いたいです。シート1のA3~U102に登録されている習い事の中から、該当する人のA列を一気に抜き出したいです。習い事はQ列からS列に登録されており、複数列に分かれることもあります。現在は手作業で抽出していますが、時間がかかってしまいます。
  • エクセルのマクロを使用して、複数行の抽出作業を効率化したいです。シート1のA3~U102に登録されている習い事から、該当する人のA列を一気に抜き出したいです。習い事はQ列からS列に登録されており、複数列に分かれることもあります。現在は手作業で抽出していますが、時間がかかってしまいます。効率的な抽出方法をご教示いただけますか。
回答を見る
  • ベストアンサー

複数行を同時に検索し、一気に抽出したい

エクセルのマクロは初心者です。 シート1のA3~U102までにアドレスを登録しています。 その中のQ列~S列に、お稽古事が登録されています。 一人が一つの習い事をしてるとは限らないので、複数列に分かれてしまうのです。 私がしたい事は‥ Q列からS列に該当の習い事があるかを検索させて、該当者を抜き出す作業です。 同じ習い事でも、Q列に入っている人もいれば、R列に登録されている人もいます。 この3つの列から、どれか一つにでも該当する人のA列を一気に抜き出す事は不可能でしょうか‥? イメージとしては、ネットの絞込み検索のようなことが出来ればと思っています。 抽出先はシート2を希望していますが、無理ならシート1でも良いです。 オートフィルタを使ってみましたが、1列しかフィルタをかけられないので、他の列に登録されている場合は、消えてしまいます‥。 今は、検索を使用していますが、表示は出来ても抜き出しが手作業になるため、時間がかかってしまいます。 説明が下手で申し訳ありませんが、知恵をお貸し下さい。 よろしくお願いします。

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

  • ベストアンサー
  • higekuman
  • ベストアンサー率19% (195/979)
回答No.2

こういう方法はどうでしょうか? 1列だけ増えてしまいますが、T列に作業用の列を追加して、検索値を入力するセルをT1として、T3に、 =COUNTIF(Q3:S3,T$1) という式を書いて、それを他のセルにコピーします。 すると、検索値がある場合は、その個数(普通は1)、検索値がない場合は0が表示されます。 そして、オートフィルタで、T列が1(もしくは0より大きい)のものを抽出。

siro-siro
質問者

お礼

ありがとうございます! 今までIFやMATCH試しましたが、うまくいきませんでしたが、COUNTIFであっさり解決です。 これが私が一番望んでいる形に近いと思います。 試したところ、検索語句を入れるだけで表示されるし、その後にその他の列のオートフィルターも使えるのでGoodです。 やっぱり、相談して良かったと思います。 とても勉強になりました。

その他の回答 (1)

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

Q列、R列、S列は、それぞれ何の項目なのでしょうか? 同じ習い事が別の列に入るように表を作っていること自体がまずいんじゃないでしょうか? 列ごとに習い事を決めてしまうのはまずいのですか?

siro-siro
質問者

補足

説明が足りなくて、申し訳ありません。 Q1~S1はセルを結合して、習い事としています。 Q2・R2・S2は空欄で、Q3から入力が開始されている状態です。 おっしゃる通り、列ごとに習い事を決めれば、話は簡単なのですが‥ 習い事は人によって様々なので、別欄に分けるとなると、表が大きくなりすぎてしまいます‥。 でも、出来ないのであれば、そうせざるを得ないでしょうね。

関連するQ&A

  • 検索値から、その行の抽出。

    検索値から、その行の抽出。 シート1のデータがあります。 シート2のA1に検索値を置き、“あああ”の行をシート2に抽出。 シート2のA列に任意の番号を振った後、その番号順での表示(ピンク部分)を希望。 自分でいろいろと調べて試行錯誤したのですが、 思うようにいかず、ご質問させていただきます。 ご回答よろしくおねがいします。

  • 複数のシートから検索抽出

    検索値シート(4)【B】123で行い、検索範囲をシート(1)、(2)、(3)のうちの一つの【B】列でヒットした【A】列ABCをシート(4)の【C】に検索結果を表示させたいのですがどのようにしたらよいでしょうか。 また、シート(4)【B】列1000以上全て検索値としたいのですが、どうかよろしくお願いします。 シート(1)~(3) 【A】  【B】  【C】 ABC ....123 DEF ...456 GHI ....789 JKL ....795 MNO ..816 シート(4) 【A】 【B】 【C】    .. 123 ... ??? ......... 456 ......... 789 方法が分からず困っています。 お手数ですが、どうかお教えください。

  • 検索後、行を抽出するマクロ

    エクセルのシート1、A列からE列まで1~800のセルにテキストが入力されいます A列を検索(部分一致)し、ヒット(複数)した行をシート2へコピーしていのですが出来ません。 因みに、A列は文字列で「赤エンピツ、黄エンピツ」などでエンピツと検索してら両方抽出したいです。 初心者で何も判らず本等を読んでも訳判りません、どなたか御教授よろしくお願いします。

  • 検索・抽出・貼り付けのマクロ

    シート1のデータをオートフィルターかけて検索し抽出したものを、A列、B列、D列、F列をシート2の、A列、B列、C列、D列に貼り付けるマクロを教えて頂けますでしょうか? 一週間位悩んでいます。

  • 検索後、削除や抽出するマクロ

    エクセルのシート1、A列の1~1500のセルにテキストが入力されており ある特定のテキストを含むセルを全て シート2のA列に抽出したいのですが、検索してみましたがうまくできません。 作業の流れとしては シート1のA列を範囲指定し、編集-検索、検索する文字列を入力し、すべてを検索をクリック 検索結果をコピーし、シート2のA列に貼り付ける もうひとつはシート1、A列の1~1500のセルにテキストが入力されており テキスト1またはテキスト2を含むセルを全て削除するというマクロを作成したいです。 ご指導のほどよろしくお願いいたします。

  • エクセル 複数条件抽出について

    エクセル2013を使用しています。 データシートより複数条件に当てはまるデータを 別のシートへ必要な項目のみ抽出する方法(関数orマクロ)をお教え下さい。 データシート:A列からU列まで様々なデータが入力されている。 抽出条件:H列とN列 抽出する項目:C列・I列・M列・O列・Q列・R列・S列 (抽出する項目は増える可能性有) 複数条件の抽出はフィルタオプションで出来たのですが、 抽出が必要な項目を指定する方法が分かりませんでした。 宜しくお願いします。

  • 検索値に一致するデータ行の抽出方法(エクセル)

    例えば・・・ ↓データ _ABCDE 1あカa1122 2あキb1223 3いクc1324 4うケd1425 5うコe1526 のようなデータがあったとして、別のシートの任意のセル(例えばA1)に「あ」と入力し、C列に「カ」を入力することでC列以降のデータをD列以降に並べたいのですが・・・ 結果↓ _ABCDE 1う←任意のセル:データシートのA列の検索値 2 3__*項目* 4__ケd1425 5__コe1526 ___↑ ___データシートのB列を検索する値を入力するC列    *データの行数は5000は軽くあります。 *データシートは、受け取る側のシートとは別のファイルにしたい。 *受け取る側は、1~100行になります。(ファイルによります) *受け取る側のファイルは、100ファイルぐらいになります。 *いずれのファイルも列数は2,30列程度です。 *格納するフォルダは同じです。 *できればフォルダ毎別のPCに持っていっても作業できるようにしたい。 環境:構築していくマシンは、Windows2000Pro,Excel2000です。 (実際の抽出作業もこれがメインのPCですが、Win95、98,Excel97、2000でも抽出作業ができれば嬉しいです。)

  • エクセルで複数文字を検索する方法を教えてください。

    お世話になります。 エクセルで、関数を使用して、複数文字を検索する方法を教えてください。 具体的には、エクセルシートが2つあり(sheet1の名前は「姓名」、sheet2の名前は「該当」とします) sheet1(姓名)のA列に名前を入力して、sheet2(該当)のA列には、漢字600個を1文字ずつ縦に 並べたとします。(漢字600個は勿論全部違う漢字です) そこで、sheet1(名前)のA列に入力されている名前に対して、B列に関数を入れて、 sheet2(該当)のA列に該当する漢字があった場合は「当たり」と表示して、該当する漢字が 無い場合は空欄にする関数を教えていただけないでしょうか。 EXCEL2003になります。 よろしくお願いいたします。

  • 検索したい日付からデータを抽出したい。

    こんにちわ。 キャンペーンが何日~何日までどういった内容がある、という一覧を作成しています。 Aの列が開始日、Bの列が終了日、Cの列がキャンペーン内容、です。 検索したい日付をD1のセルに入力したら、その日付に該当するキャンペーンすべてを別のシートに抽出できないでしょうか・・・ オートフィルタで抽出は出来るのですが、日付を入力しただけで抽出 させたいのですが、無理でしょうか・・・ よろしくお願いします。

  • EXCEL 複数シートからデータを抽出する方法

    シート1~12が「4月…3月」の名前になっています。 各シートの ・A列は日付 ・B列はメモ ・C列はジャンル が、それぞれ入力されています。 それを、新たなシートで、ジャンルごとに検索して日付順に並べたいです。 各シートでフィルターをかければ、そのシート(月)の中で該当する行を表示しますが、それを複数シート(複数月)のものをまとめた形で、新しいシートに表示したいのです。 イメージとしては、新しいシート(1)に同一ジャンルのものが4月から時系列に並ぶような感じです。 マクロボタンを押すとジャンルごとに自動検索して表示するようなものでも構いませんし、新しいシート(1)にジャンル(1)、新しいシート(2)にジャンル(2)というようなものでも構いません。 よろしくお願いします!

専門家に質問してみよう