[[20130520132727]] 『条件で抽出したデータを他のシートに反映させたい』(しずく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件で抽出したデータを他のシートに反映させたい』(しずく)

 いつも大変お世話になっております。
 Excel2007 Windows 7です。

   A    B     C    D
 1 氏名  配送日  商品名  金額

 2 山田  1木   りんご   100

 3 池田  2水   ミカン   200

 4 林   1水   モモ    300

 5 加藤  1木   ぶどう   600

 6 西田  2水   りんご   800

 -----

 配送日が、第一木曜日、第二水曜日などいろいろわかれています。
 このデータがSheet1に100件あります。
 今までは、フィルターをつけて例えば、配送日第一木曜日(1木)を抽出して
 それをコピーしてSheet2(第一木曜日)に貼り付けしていました。

 Sheet1の行数が増えれば自動にSheet2に第一木曜日の配送日のものが
 反映させるようにできないでしょうか?

 ちなみにSheet2が第一木曜日,Sheet3が第2水曜日というように
 配送日ごとにシートがあります。

 お知恵をおかしください。よろしくお願いいたします。

 項目でデータをシートに振り分けたいという要望は結構多いようで、以前こんなのを作った
 ことがありましたが、流用できないでしょうか。
[[20111030151618]] 『担当別に自動振り分け』(アイル)
 (Mook)

 さっそくありがとうございます。
 これはマクロ???とかになるのでしょうか?
 初心者なのですみません。。。。読んでも意味がさっぱりわかりませんでした。。。

 しずく

 はい。マクロによる処理です。
 実行してみたい場合は、このあたりを御参考に。
http://officetanaka.net/excel/vba/beginner/10.htm

 関数による処理をご希望の場合は、関数エキスパートの方の回答をお待ち下さい。
 (Mook)

 >ちなみにSheet2が第一木曜日,Sheet3が第2水曜日というように
 >配送日ごとにシートがあります。
 
Sheet1に全てのデータがあるのなら、それを要素ごとに振り分けた
シートを要素の数だけ作る必要はないと思いませんか?
それらを一遍に見ることは出来ませんし。
例えば、Sheet2のA1に「1木」を入力したらSheet2に「1木」のデータが
検索されて表示される、という仕組みの方がエクセルっぽいじゃないですか。
 
Sheet1の最終列に作業列を用意してその2行目に =COUNTIF($B$2:$B2,Sheet2!$A$1)
これを最終行までコピー。
Sheet2のA1に「1木」と入力すると、B列が「1木」のデータは作業列で
1ずつカウントアップします。
あとは抽出するセル範囲で、(作業列がSheet1のE列だとすると)
=IF(MAX(Sheet1!$E:$E<ROW(A1),"",INDEX(Sheet1!A:A,MATCH(ROW(A1),Sheet1!$E:$E,0)))
のような数式で抽出できます。
 
この仕組みを応用すれば、要素の数だけシートに振り分けることも
出来なくはありませんが。
(みやほりん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.