• ベストアンサー

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

いろいろ調べてみたのですが、どのようにすればいいのかわからなかったので質問させていただきます。 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

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

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

こんばんは! 一例です。 月~水まででOKという前提で・・・ ↓の画像でSheet1のデータを各Sheetに振り分けていますが、 とりあえずSheet2(月)分だけで説明させていただきます。 (火)・(水)のSheetも同様ですので方法だけ理解いただければ良いかな!って思っています。 Sheet1に作業用の列を設けています。 G2セルに =IF(A2="○",ROW(A1),"") として列方向(I列まで)と行方向にオートフィルでコピーします。 このデータを元に各Sheetに表示するようにします。 G列がSheet2用・H列がSheet3・I列がSheet4用になります。 Sheet2だけの数式を載せておきますので、G列の範囲指定の部分をSheet3の場合はH列・Sheet4の場合はI列に変更してください。 Sheet2のA2セルに =IF(COUNT(Sheet1!$G$2:$G$100)<ROW(A1),"",INDEX(Sheet1!$D$2:$F$100,MATCH(SMALL(Sheet1!$G$2:$G$100,ROW(A1)),Sheet1!$G$2:$G$100,0),COLUMN(A1)*2-1)) として列方向と行方向にオートフィルでコピーします。 同様の操作を各Sheet行います。 これでSheet1のデータが振り分けられるはずです。 尚、数式はSheet1の100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてください。 以上、長々と書きましたが 参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

sosesusisa
質問者

お礼

わざわざ画像付きの分かりやすい回答、ありがとうございます。 いろいろ試してみた結果、なんとかなりそうです。 明日職場で試してみます。 ありがとうございました!

その他の回答 (2)

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

ちなみに簡単に工夫するとこんな感じで。 シート1: A列 B列 月曜 火曜  ○      ○  ○ D列 E列F列 月曜 =IF(A2="","",COUNTA(A$2:A2))  以下コピー GHI列 名前,年齢 シート月曜: A2: =IF(ROW(A1)>MAX(Sheet1!D:D),"",VLOOKUP(ROW(A1),Sheet1!D:I,4)) B2: =IF(A2="","",VLOOKUP(ROW(A1),Sheet1!D:I,6))

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

シート月曜 A2: =IF(ROW(A1)>COUNTIF(Sheet1!A:A,"○"),"",INDEX(Sheet1!D:D,SMALL(IF(Sheet1!$A$2:$A$100="○",ROW($A$2:$A$100),9999),ROW(A1)))&"") と打ち込んでコントロールキーとシフトキーを押しながらEnter B2: =IF(A2="","",INDEX(Sheet1!F:F,SMALL(IF(Sheet1!$A$2:$A$100="○",ROW($A$2:$A$100),9999),ROW(A1)))) と打ち込んでコントロールキーとシフトキーを押しながらEnter #関数にこだわるのをヤメにして,もうちょっと普通の人にも判るアプローチで仕事の段取り全体を見直す事を推奨します。

sosesusisa
質問者

お礼

素早い回答、ありがとうございました。 家で試してみたところうまくいきそうだったので、明日職場で試してみたいと思います。 ありがとうございました。

関連するQ&A

  • エクセル 複数シートにまたがるデータの抽出

    複数シートからのデータ抽出についていくつか拝見いたしましたが 知識が足らず、操作できませんでした。 下記のような抽出が可能であれば、ご教授いただけたらと思います。 なお、VBやマクロ等は使用したことは、ほぼありません。 シートが複数あり、またそのシートが増えていく可能性があります。 シート名→「start」「佐藤」「山本」「end」「集計1」「集計2」ととりあえず作成。 (「集計1」にて別のデータ合計をとるため、「start」「end」シートを作成しました。  なお、佐藤~山本のシートは同じ書式ですが、シート名が変わる可能性も高い。  今回したいのは「集計2」においてです) 「佐藤」シート   A   B   C   D 01 佐藤 02 \  月曜 火曜 水曜 03 6:00  1   0.5   1 04 7:00  1    1 05 ~ 18 21:00 「山本」シート   A   B   C   D 01 山本 02 \  月曜 火曜 水曜 03 6:00 04 7:00  1   1   1 05 ~ 18 21:00  1   1   1 「集計2(曜日毎で、月曜)」シート   A   B   C   D 01 月曜 02 03 6:00 佐藤 04 7:00 佐藤 山本 05 ~ 18 21:00 山本 「集計2(曜日毎で、火曜)」シート   A   B   C   D 01 火曜 02 03 6:00 佐藤 04 7:00 山本 05 ~ 18 21:00 山本 できれば、名前(シート)が非常にたくさんになる可能性があるので 集計2に出てくる名前は、詰めてが理想です。 また、できればあまり都度の細かい作業がなければありがたいです。 (利用者で、できない可能性が高い) よろしくお願い申し上げます。

  • エクセルマクロで別のシートを検索して表示

    エクセルのマクロで次の様な検索が出来るようにしたいのです。 シート1にあるセル(毎回同じセルとは限らない)に、 「出席者」という文字が入っています。 その直下のセルに名前(毎回違った名前)が入っています。 例 A5=出席者 A6=山田、田中、鈴木 この名前(例のシート1のA6)データをシート2の特定のセルに表示させたいのです。 シート2にボタンを配置してそれをクリックしたら表示できるという風に。(シート2の特定のセルは仮にB10とします) 出席者と名前は毎回同じ位置関係ですが、 表示されるセルは決まっていません。 このような作業をマクロで出来ますか? 出来るのでしたらそのマクロを教えて頂けますか? 初心者です、分かり易い回答をよろしくお願いいたします。

  • Excel 他シートのデータを抽出

    お世話になっております。 さっそく質問失礼いたします。 全売上が記載されたシートのデータを抽出し、営業担当者名で割り振られた各シートに該当するデータを抽出する方法を教えてください。 具体的には下記のようなものを作成したく思います。 シート1(月度売上表) 日付 担当 商品 台数 1日 田中  A1  1台 1日 山田  B1  2台 1日 佐藤  B1  5台 2日 田中  B1  3台 2日 佐藤  A1  2台 2日 佐藤  B1  4台 シート2(田中) 日付 担当 商品 台数 1日 田中  A1  1台 2日 田中  B1  3台 シート3(佐藤) 日付 担当 商品 台数 1日 佐藤  B1  5台 2日 佐藤  A1  2台 2日 佐藤  B1  4台 以下続く 以上のような表を一覧として作成したいと思っております。 シート1に内容が記載されたら自動的にリンクされるようにしたいので、ご質問いたしました。 よろしくおねがいいたします。

  • シートの合計

    よろしくお願いします。 エクセルでシート1~3迄あります。各シ-トのA列は名前、B列に数字が入っています。名前はA列のどの行にあるかわかりません。 同じ名前をシート4のA1に入力したらその名前の合計を出したい。  シート1    シート2   シート3       シート4   A   B    A   B   A    B     A    B 山田 10   木村  5  佐々木 18   木村  55  鈴木 20   田中 21  伊藤  33    ↑ 木村 50   山下 70  加藤  57  (入力する) 田中 15   高橋 90  佐藤  61 高橋 60   山田 10  鈴木  12             ・   ・   ・          

  • 2つのシートを関連づけるには?

    エクセルで以下のような2つのシートがあったとして シート1   A  B   C 1 ID  名前 金額 2 001 山田 10,000 3 002 斉藤 15,000 4 003 田中 23,000 シート2   A    B      C 1 名前 銀行名  口座番号 2 山田 A銀行  1234567 3 田中 B銀行  9876654 4 斉藤 C銀行  4567891 これを、以下のような1つのシートにするにはどのようにしたら良いでしょうか?   A    B     C     D 1 名前 銀行名  口座番号  金額 2 山田 A銀行  1234567  10,000 3 田中 B銀行  9876654  23,000 4 斉藤 C銀行  4567891  15,000 簡単な関数や、マクロで可能でしょうか? 分かる方教えてください。

  • Excel複数シートにあるデータを1枚にまとめる

    Excelブックにある50枚ほどのシートのデータを一枚のシートにまとめたいです。 現在シート1には機材Aを使用している人の名前、シート2には機材Bを使用している人の名前、シート3には機材Cを・・・ というような感じで50枚ほどあります。 これを一枚にまとめます。 列Aに名前、列Bからを機材名としたいんです。 たとえば山田さんが機材Aと機材Cを使用していたとしたら、「山田 ○  ○」という感じで、機材A、Cの列に○が付くようにしたいです。 各シートに記載されている名前は、重複しています。(佐藤さんはシート1にも2にも40にも名前があるというようなかんじです) 列の中に何回も同じ名前が出ることを避けたいです。 出来る限り短時間で終わらせたいのですが、なんせExcelの知識が乏しく困っています。 なるべく早くするよう言われていますので、初心者でも出来るような方法をご存じでしたら教えてください。 ちなみにしようするのはExcel2010です。 大雑把な質問で申し訳ございません、よろしくお願いいたします。

  • エクセル(2003・2007)でデータ抽出し、別シートを作成するための

    エクセル(2003・2007)でデータ抽出し、別シートを作成するための関数を教えて下さい ●シート名:サンプルA                ●シート名:サンプルB   A  B    C   D  E・・        A  B     C   名前 日付1  日付2  備考      名前 日付1   備考 1 山田 2010/10/15 2010/10/10 ああ    1 鈴木 2010/10/18 うう 2 佐藤             いい       2 太田 2010/10/21 かか  3 鈴木 2010/10/18 うう     → 4 井上 2010/11/20 ええ 5 石田 2010/8/7 2010/10/7 おお 6 太田 2010/10/21 かか 具体的に上記のデータから【B列が本日から10日間以内かつC列がスペース】のデータのA・B・D行を別シートに作成する関数を教えて下さい よろしくお願いします ※なぜか文字がずれてしまってて、すいません・・・

  • 2列のデーターを別シートに1列にまとめる

    初心者です。是非ご教授ください。 【シート1】  佐藤 田中  1 10   2      5 3      5 4  3 5  3 6     10 【シート2】   A B C 1 10 2  5 3  5 4  3 5  3 6 10 佐藤に入力が有ると必ず田中は入力なしになり、田中に入力が有ると佐藤は入力有りません。 ですのでシート2で1列に出来る関数はありますか?

  • エクセルのデータ抽出、別シートへの表記

    こんばんは。 とても簡単かもしれませんが、私の力ではどうしようもありませんのでどなたかお教えください。 sheet2には下記のようなデータがあります。    A       B       C       D 1         吉田     山田     佐藤   2 10月1日   A 勤    C 勤    B 勤 3 10月2日   C 勤    B 勤    A 勤 4    ・・・以下、データが続く・・・ sheet1に、以下のような結果を表記したいのです。    A       B       C       D 1          A 勤    B 勤    C 勤 2 10月1日    吉田     佐藤    山田  3 10月2日    佐藤     山田    吉田 4   ・・・以下、データが続く・・・ 過去の質問を見ても解決できませんでした・・。かなり素人です。お助けください。

  • 別シートの条件に合うセルを抽出したい

    例えば、sheet1に A列 B列   C列 1/1 東京  佐藤 1/1 横浜  鈴木 1/2 北海道 山田 1/3 大阪  加藤 と入力したとします。 このとき、sheet2のA1に1/1と入力すると、Sheeet2のA2、A3に1/1、B2、B3に東京、横浜、C2、C3に佐藤、鈴木と自動的に表示されるようにしたいのですがどうしたらよいのでしょうか?

専門家に質問してみよう