• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:抽出したデータを別のシートに転記する方法)

抽出したデータを別のシートに転記する方法

MASUKUBOの回答

  • ベストアンサー
  • MASUKUBO
  • ベストアンサー率22% (4/18)
回答No.1

オートフィルターを利用する方法は元のデータに新たなデータが加わったり元のデータが修正されるたびにオートフィルタの操作をやり直してそれをコピーし貼り付けるという操作になりますね。オートフィルタなどの操作がわからない人にはできませんし、操作もいちいち面倒です。 関数を使って属性を抽出しそれを別のシートに自動的に表示させるのがよいでしょう。次は一例ですが参考にしてお望みのシートを作られるのがよいでしょう。ぜひお試しください。 例えば元の表がシート1に有り、A1セルからH1セルまでには項目名が有るとします。ここでは仮にA1セルに氏名、B1セルに性別、C1セルに年齢とあり、それぞれのデータが下方に入力されているとします。適当にデータを入力してください。 そこで例えば男のみのデータをシート2に20歳以上で30歳未満のデータをシート3に表示させるとします。そのためには分かり易くするためにシート1には作業列を作って対応します。例えば男のみのデータを抽出するためにJ1セルには男とでも入力し、J2セルには次の式を入力して下方にオートフィルドラッグします。 =IF($B2<>"男","",COUNTIF($B$2:$B2,"男")) これで男の行のみに上から順に番号が表示されます。 K1セルには20歳以上30歳未満とでも入力し、K2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(AND(C2>=20,C2<30),COUNTIF($C$2:$C2,">=20")-COUNTIF($C$2:$C2,">=30"),"") これで該当の年齢の行に上から番号が表示されます。 このように抽出したい属性について作業列を設けて、その該当の行を上から順に表示させるようにすることで、元の表にデータが新たに追加されても、データが修正されることが有っても即座に対応したデータが表示されます。この作業列のデータを利用してシート2や3を次の様に作成します。 シート2の1行目にはシート1の1行目をコピーして貼り付けます。 シート2のA2セルには次の式を入力して例えばC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$J:$J),"",INDEX(Sheet1!$A:$H,MATCH(ROW(A1),Sheet1!$J:$J,0),COLUMN(A1))) 同じようにシート3に1行目には項目名を並べ、A2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$K:$K),"",INDEX(Sheet1!$A:$H,MATCH(ROW(A1),Sheet1!$K:$K,0),COLUMN(A1))) このように元のデータシートにそれぞれの属性について作業列を設け、それを利用して属性ごとのデータを別のシートに表示させるようにすることで、オートフィルタとコピー貼り付けの操作をする必要はなくなります。上記の例を充分試験されて目的が達成できますように願っています。何かわからないことがありましたら追加ご質問ください。

hiramotos
質問者

お礼

さっそく教えていただきありがとうございました。やってみましたら、なんと素晴らしい結果が得られました。エクセルの関数については本を読んで、その意味を理解しようとしていましたが、組み合わせて複雑な操作ができるものだなと感心しました。教えていただいた関数式の意味を一つづつ理解していきたいと思っています。エクセルの達人から見れば簡単なことかもしれませんが、私のようにオートフィルタで抽出したデータをみたり、せいぜい合計金額を求めたりする程度しかできない者にとっては、大変感すばらしいですね。作業列を作るということが理解できなかったのですが、やっみてなんとなくわかった気がします。合計10くらいのシートにデータを抽出できました。関数式のなかの(Sheet1!$J:$J)のJのところを作業列に合わせて変えていくだけでうまくいきました。差し込み印刷もこのシートを差し込みデータとして使用することで、うまくいきました。ありがとうござました。少しは進歩したと思います。

関連するQ&A

  • エクセルで抽出したデータを別シートにコピーしたいです

    エクセル2003を使用しています。 例えば、以下のような表があります。  ABC 1あ10 2い15 3あ20 4 A列が条件となり、たとえば「あ」のデータだけ抽出して、そのデータを別シートにコピーします。 同じく「い」だけを抽出して、また別のシートにコピーします。 いままでは、オートフィルタで抽出して自分でコピーをして貼り付けしていましたが、日々データが次の行に追加になるので、毎回オートフィルタしてコピーするのは大変です。 関数か、マクロかVBAを使ってする方法はありますでしょうか。 できれば日々追加になるデータのみをすでにある別シートの前日までのデータの下に追加できるようになればいいと思うのですが。 知識が乏しくできません・・・ よろしくお願いいたします。

  • エクセルで抽出分だけを別シートに反映

    エクセルで家計簿を作っています。 まず、「基本」と名づけたシートに、毎日の買い物などを入力しています。 項目は、月、日、勘定科目、金額、です。 別に「試算表」と名づけたシートを作り、 勘定科目ごとにSUMIFを使って「基本」の金額を 合計させるようにしています。 この場合、「基本」でオートフィルタで例えば6月のデータを抽出し、 それだけを「試算表」に反映させる方法はあるでしょうか? また、同じように抽出したデータだけを、 ピボットテーブルに反映させることはできますでしょうか? 説明が下手ですみません。どうかお知恵を貸してください。

  • Excel 抽出データを別シートに移す方法

    アルバイトの方の勤怠管理のためにタイムカードレコーダーを使っていて、 毎月その内容をExcelに出力しています。 A   B     C       D    E   F    G ------------------------------------------------------------ 番号 氏名   日付     出勤  外出  戻り  退勤 1  伊藤太郎 2005/1/16  8:55           16:35 1  伊藤太郎 2005/1/17  8:52           16:40                ・                ・ 2  佐藤花子 2005/1/16  9:48           15:07 2  佐藤花子 2005/1/17  9:51           15:10                ・                ・ 1つのファイルの中にすべてのアルバイトさんのデータが出力されて いるのですが、個人毎にデータを保存しておきたいので、毎回オートフィルタで 1人ずつデータを抽出して別シートにコピーしています。しかし、アルバイト さんの数が増えるにつれて作業量&時間も増えてきてしまいました。 この作業をマクロやVBAで自動化できれば・・・と思うのですが、何かよい 方法はありますでしょうか。 説明が足りない部分がありましたらご指摘ください。よろしくお願いいたします。

  • エクセルでデータを抽出し,別シートに転記する方法

    「志望校一覧」というシートに添付ファイルのような書式で約200人のデータが入っています。 これを高校学科別にデータを抽出して書式を変えずに「志望校別」という別のシートに転記したいのですが,何か良いマクロか数式はありますか?実際のデータが入っている行は3行目(A子)から188行までです。並び順は右端のコード順,なおかつ組・番順になると良いのですが…。

  • 指定期間内のデータを別シートへ抽出

    エクセルについて、あるデータから指定期間内のデータを別シートへ抽出する方法を教えてください。 例) No.  日付   名前  数字  配達先 1  5/1   AAA   5    BBB 2  5/6   CCC   10   DDD 3 5/14   EEE   4    FFF 4   6/6   GGG   20    HHH データは毎日更新されます。 ここであるセルに「2012/5/1」~「2012/5/31」と入力し、その期間内のデータを別シートへ引っ張りたいです。指定期間は人によってその都度様々です。 色々調べたのですが、オートフィルターでは行えそうになく、VBAを使用した方がよいと思ったのですが、初心者のため分かりません。どなたか教えていただけますと大変助かります

  • エクセルで別シートにデータ抽出したい

    一覧表として作成したシートのデータのうち、ある条件のものだけ別シートにデータ抽出するにはどうしたら良いですか? 例えば、 NO. 担当 金額 1  佐藤 200 2  佐藤 100 3  鈴木 200 4  佐藤 400 とある「一覧表」シートのデータから 担当:佐藤のデータだけ抜き出した表を別シート(「個人別」シート)に作成したいのです。 できれば、「一覧表」に新データを追加する度に、「個人別」シートにもデータが自動反映するようなものが望ましいのですが。 そんなことは可能でしょうか? アクセスを使えば簡単にできるかとは思いますが、アクセスがないので、エクセルで代用できればと。 宜しくお願いいたします。

  • Excelでのデータ抽出方法って・・・

    度々こんな質問ですが、Excelでオートフィルター以外に元のデータと同じシートへ抽出する方法はなにか有りますかね!?誰か教えてください。

  • エクセル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

  • VBA フィルターで抽出したデータを別のファイルの

    VBA フィルターで抽出したデータを別のファイルのシートのセルにヘッダー行とフッター行のあるシートに挿入したい お世話になります。 excel のフィルターで抽出したデータを別のファイルのシートに抽出したデータと同一フォーマットの入っている原紙がありその原紙をコピーしたシートのヘッダー行(A1-A8)の後、9行目からフッター行の手前、52行めまでに貼り付けするを、フィルターで抽出した分繰り返したいのです。原紙 のシートはコピペでしたに20枚ほど作ってあります。 マクロの記述でコピペを繰り返せば作れそうな気はしますが、汎用性が無いので、また私の頭も固いので。 宜しくお願いします。

  • オートフィルタで抽出したデータの行を削除(VBAで記述)

    Excel2000を利用しています。 VBAで、オートフィルタを利用した作業を記述したいと思っています。 データは一行目にタイトルが入っています。 オートフィルタで抽出したデータを その行まるまる削除したいと思っています。 その時、タイトル行(1行目)を除いて オートフィルタで抽出された行のみ選択して 削除する、という場合、どのように記述すればよいのでしょうか。 自分では全然分からないので 教えてください、よろしくお願い致します。