• 締切済み

別ワークシートのデータからデータ行を抽出して表示させたい。

半データベースのような使い方なのですが、 ワークシートの1ページ目に検索条件のあるキーワードを入れ、 別ワークシートの検索条件にヒットする行の情報を、 1ページ目に表示させたいと思います。 例えば、1ページ目のあるセルに"田中"と言うキーワードを入れたら、 2ページ目にある、"田中"に関する情報(例:身長、体重、生年月日、年齢など)を 抜いてくるようなツールを作りたいと思います。 (2ページ目は数百行にも及ぶデータです) つまり、検索条件にヒットした行のデータを返して、 それを1ページ目に表示させるようなデータベース的なものを 作りたいと思っていますが、可能でしょうか。 現状、多大なデータに検索をかけその行情報をいちいち抜いてきている状態なので、 何か良い方法は無いものかと思っています。 簡単に実現できる方法があればご教授下さい。

みんなの回答

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

こんにちは! 参考になるかどうか分かりませんが・・・ VLOOKUP関数を使ってみたらどうでしょうか? 一例ですが、 Sheet1とSheet2の項目の並びは同じとします。 下の画像の B2セル=IF(A2="","",VLOOKUP(A2,Sheet2!$A$2:$E$8,2,0)) C2セル=IF(A2="","",VLOOKUP(A2,Sheet2!$A$2:$E$8,3,0)) D2セル=IF(A2="","",VLOOKUP(A2,Sheet2!$A$2:$E$8,4,0)) E2セル=IF(A2="","",VLOOKUP(A2,Sheet2!$A$2:$E$8,5,0)) として、すべてを範囲指定した後オートフィルで下へコピーすれば 希望に近い物が出来るのではないでしょうか? 尚、この場合検索対照を氏名で行っていますので 同姓同名が合った場合は上の行の方が参照されると思います。 余計なお世話かも知れませんが、 キーワードを名前とするより社員番号などで入力した方が簡単かもしれませんね! その場合は氏名の欄を同じようにVLOOKUP関数で表示させればいいと思います。 以上、他にいい方法があれば読み流してください。m(__)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel VBA Sheet2で指定した条件でSheet1の行削除

    Sheetが2つあるExcelブックがあります。 Sheet2で検索条件(列とキーワード)を指定し、 この条件でSheet1を検索、 Sheet1で検索にヒットした行を行削除したいと考えています。 汎用性を高める為、Sheet2で指定する検索条件は可変とし、 検索対象とする列とキーワードは任意のものを必ず指定(""は無し)。 列&キーワードをひとつの検索条件として、 Sheet2の2行目~最終行までLoopしたいのです。 InStrを使用するなど、部分的には分かるのですが、 2つの条件を同時に変えながらLoopさせる方法が 色々試してみましたが、どうしても分かりません。 VBAに詳しい方、同様の処理をしたことがある方、 どうか助けてください!宜しく御願い致します。 [Sheet1] ・・・ 元データ     A   B   C ---------------------------- 1   あ ---------------------------- 2   い   該当 ---------------------------- 3   う       閉鎖 ---------------------------- 4   え   該当 ---------------------------- 5   お ---------------------------- [Sheet2] ・・・ 行削除する範囲とキーワードを指定。     A   B ---------------------------- 1   列   キーワード ---------------------------- 2   A   あ ---------------------------- 3   B   該当 ---------------------------- 4   C   閉鎖 ---------------------------- [求めている結果] 1, 2, 3, 4行目が削除される

  • Excel にて非表示行を探すワークシート関数

    ある膨大なデータをまとめた数百行からなる Excel ファイルがある のですが、その中で数箇所「非表示にされた行」があります。 その非表示行を探すワークシート関数って有りますでしょうか? (ワークシート関数が無理なら、マクロでも良いです。) ・非表示にされた行は1行だけの時もありますし、  2, 3 行をまとめて非表示にしている場合もあります。 ・Excel バージョンは 2003 です。 ・私の方で見つけた1つの方法として、以下の方法があります。   1. 適当な列に連続データで 1 から始まる番号を振る   2. それを適当なグラフにする   3. グラフの中で急に傾きが変化している所があれば、そこが非表示行である ・ただし、上記の方法ですと数十行なら視覚的に見つけやすいのですが  数百行、数千行の場合はグラフの中の傾きの変化が見つけづらいので NG ・一番理想的なのは画像の中の B4 (黄色いセル) のように、非表示行の1つ上の行に  "1" を表示し、かつ、それをワークシート関数で実現する事です。 ・Ctrl-A で全部のセルを選択し、適当な所で右クリックをして「再表示」とすれば  非表示行が表示される方法は既に知っております。  私が知りたいのは「非表示の状態で、非表示行の場所」を知りたいのです。 以上、よろしくお願いします。

  • エクセル2003 条件抽出したデータを切り取り別シートへ貼り付け

    シート1にあるデータから3個のキーワードで抽出したデータを切り取り、シート2に貼り付ける方法を教えてください。  今までは抽出する条件のキーワードが2個以下だったので、オートフィルタのオプションで抽出したデータをコピーしてシート2に貼り付け、シート1で可視セルを選択して削除という方法をとっていました。  今回、条件にするキーワードが3個になったので、フィルタオプションの設定で、シート2のA1からA4にキーワードを入れて、検索条件範囲を指定してデータを抽出したので、今までの方法が使えなくなってしまいました。 参考までに、↓こんな感じです。 Sheets("Sheet2").Select Range("A1") = "条件" Range("A2") = "キーワード1" Range("A3") = "キーワード2" Range("A4") = "キーワード3" Sheets("Sheet1").Cells.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ Range("A1:A4"), CopyToRange:=Range("A6"), Unique:=False

  • ワークシートの行が途中から表示されない

    ワークシートを下へスクロールすると途中から行が表示されなくなります。 背景のが表示されてスクロールもとまってしまいます。 行の挿入は普通に出来ます。ブックのの中でこのシートだけが表示されません。 どなたか元に戻す方法を教えて頂けないでしょうか。

  • Excelで複数のワークシートのデータを1つのワークシート

    Excelで、複数のワークシート(22ワークシート)のデータを1つのワークシートにまとめたいのですが、関数か何かで出来る方法はないでしょうか?.1ワークシートの行数は、まちまちですが、平均6000行ほどあります。

  • データを別シートに抽出してリアルタイムで表示させたい

    いろいろ調べてみたのですが、どのようにすればいいのかわからなかったので質問させていただきます。 Excel 2003において、下記のシート1のデータをシート2~4に曜日ごとに抽出したいと思っています。 その際、シート1に追加したら自動でシート2~4に反映されるようにもしたいと思っていますが、どのようにしたらよいでしょうか? Excelが詳しくない者が扱うことが多いので、できればマクロは使わず、関数でできたらいいと思っているのですが、最悪マクロを使った方法でも構いませんのでご教授いただければ幸いです。 【シート1】   a  b   c   d   e      f 1 月  火  水  名前  生年月日  年齢 2 ○        佐藤  1980/1/1  29 3    ○     田中  1981/1/1  28 4 ○     ○  山田  1982/1/1  27 【シート2】(月曜に○のついている人の名前と年齢を表示)   a   b   1 名前 年齢 2 佐藤 29 3 山田 27 【シート3】(火曜に○のついている人の名前と年齢を表示)   a   b   1 名前 年齢 2 田中 28 【シート4】(水曜に○のついている人の名前と年齢を表示)   a   b   1 名前 年齢 2 山田 27

  • 条件にあったデータの抽出(別のシートに)

    エクセル2007を使って、検索によるデータの抽出をおこなっています。 データは様々な商品の価格情報で、その店舗、地域等の情報がすべて番号で入力されています。 year item price region 2004 45 23 1 2004 1 5 1 2007 5 98 3 といった具合に多くのデータがあります。 それを異なるシートにその条件にあったものだけを(隙間なく)そのシートの上のほうに詰めて表示 できるようにしたいと奮闘しています。 例えば、別のシートにitem45、region 1のデータを year item price region 2004 45 23 1 2003 45 22 1 2002 45 30 1 と表示するためにはどのようにしたらよろしいでしょうか? お分かりの方、いらっしゃいましたら教えていただけませんでしょうか?

  • excelの複数シートのデータを別シート1枚に表示

    シートa・シートbにデータがあります。 データは現在各20行程度ですが、今後も増える可能性があります。 このデータをシートcにまとめて表示することはできますか? シートcに一緒に表示したうえで、ソートができるとありがたいです。 データベースソフト「アクセス」は持っていません。 バージョンは2013です。 よろしくお願いします。

  • 条件に一致する行データを別シートに抽出する

    日付別の各データが入力された総括のシートがあり「0」とします。 別に13個の項目別シートを固定の様式で作ってあります。「1~13」とします。 シート「0」のB2~B30までセル上に入力するデータが1~13の整数として入力する訳ですが、その入力されたデータセルの中で該当する数字を条件として抽出し目的のシートの決められた座標から順に行を開けずに表示したいのです。 例えばシート「0」のB列に6という数字が入力されていたら同じ行A、C、Dのデータを全てシート「6」のA、B、Cに表示させたいのです。 同じように他の数字も該当するシートに該当する数字の全てを表示したいのです できるだけ判り易く教えてくださいお願いします。

  • 別シートからデータ抽出し複数行に入力するには

    はじめまして、エクセル初心者ですがよろしくお願いします。 データシートから入力シートにグループを入力すると複数行同時に入力されるようにするにはどのようにすればよいでしょうか、データシートはこんな感じです。 Aグループ Bコード C名前  Dかな ・・・・・ 1  A-1   101   田中  たなか ・・・・・・ 2       102   佐藤  さとう ・・・・・・ 3       103   太田  おおた ・・・・・・ 4  A-2   104   上田  うえだ ・・・・・・ 5       105   田中  たなか ・・・・・・ とあり、グループは60以上ありグループは3人一組なのでセルを統合しています。 抽出シートは Aグループ Bコード C名前  Dかな 1 2 3 グループのセルは3行を1つに統合してます。ランダムにグループコードを入れるとBのコードとC、Dが同時に入力される方法というのがあるのでしょうか。分かりにくい質問かもしれませんがよろしくお願いします。

専門家に質問してみよう