[[20040331030055]] 『データフィルタオプションを自動で』(ニッシー) ページの最後に飛ぶ

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

 

『データフィルタオプションを自動で』(ニッシー)

[データフィルタオプションを自動でできませんか?]

商品を買って頂いたお客様の氏名、住所、電話番号を書いた表があります。

その表から商品ごとに別のシートにお客様の氏名、住所、電話番号を書いた表を作りた

いのですが?

 商品 氏名  住所    電話番号

 A  田中  千代田区     1111-1111
 B  鈴木  葛飾区         2222-2222
 B  佐藤  港区          3333-3333
 C  中村  江戸川区       4444-4444
 A  山田  江東区         5555-5555
 C  斉藤  中央区         6666-6666

 Aの表
 A  田中 千代田区  1111-1111
 A  山田 江東区      5555-5555

 Bの表
 B  鈴木 葛飾区      2222-2222
 B  佐藤 港区       3333-3333

 Cの表
 C  中村 江戸川区    4444-4444
 C  斉藤 中央区      6666-6666

元の表を作れば自動でA,B,Cの表作れる方法はないのでしょうか?
よろしくお願いします。


 オートフィルタを使って Aを抽出 〜 貼り付け、以下 B C でそれを繰り返す。
 以上の操作を [マクロの自動記録] で登録すれば
 >データフィルタオプションを自動で
 は、できると思います。

 [マクロの自動記録]は 
 ライブラリ(e4b)マクロの自動記録
http://www.excel.studio-kazu.jp/lib/e4b/e4b.html
 が、参考になります。

 関数なら
 Aの表
=IF(COUNTIF($A$1:$A$100,"A")<ROW(A1),"",INDEX(A$1:A$100,SMALL(IF($A$1:$A$100="A",ROW($A$1:$A$100)),ROW(A1))))

 Bの表
=IF(COUNTIF($A$1:$A$100,"B")<ROW(A1),"",INDEX(A$1:A$100,SMALL(IF($A$1:$A$100="B",ROW($A$1:$A$100)),ROW(A1))))

 Cの表
=IF(COUNTIF($A$1:$A$100,"C")<ROW(A1),"",INDEX(A$1:A$100,SMALL(IF($A$1:$A$100="C",ROW($A$1:$A$100)),ROW(A1))))

 いずれも Ctrl+Shift+Enter で配列式にして右にコピー、下にコピー
 で、いいと思います。   (jun53)

コメント返信:

[ 一覧(最新更新順) ]


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