エクセルで動的に取捨選択させる方法
エクセルにて以下の事を試したいのですが可能なのでしょうか?
(1) まず最初に、Sheet1 と Sheet2 に全く同じ表を用意します。
(2) Sheet1の表には、
赤 100 a
青 300 b1
赤 100 a
赤 100 a
白 500 c
青 310 b2
青 320 b3
赤 100 a
と、手入力します。
(3) この時、Sheet1にデータを入力したと同時に、Sheet2の方では自動で、Sheet1の1列目が『青』となっている行だけを拾ってSheet2の表に表示させたいのです。
青 300 b1
青 310 b2
青 320 b3
と、言った具合いです。
私なりに、IF文を使って『セルA1が青であれば表示させ、それ以外であれば表示させない。』という感じで、
・Sheet2のA1に、
=IF(Sheet1!A1="青",Sheet1!A1,"")
・同様に、Sheet2のB1に、
=IF(Sheet1!A1="青",Sheet1!B1,"")
・同様に、Sheet2のC1に、
=IF(Sheet1!A1="青",Sheet1!C1,"")
とし、あとは表の下までオートフィルしてあげたのですが、これだと青以外が入力されていたセルの位置が虫喰い(空白のセル)のようになってしまい見た目がよくありません。
青 300 b1
青 310 b2
青 320 b3
と、なってしまいます。できればキレイに見えるように自動で上詰めにしたいのですが、方法がわからず仕方なく、虫喰いの行を一つずつ手作業で『表示させない』にしてやっています。
(※行を削除すると式がずれてしまいエラーになってしまうため)
何か良い改善方法、お知恵がありましたら、ご助力のほどを是非とも宜しくお願い致します。
それとも、エクセルで根本的にそこまでの機能は有してないのでしょうか?
補足
出来るなら、そのコードを教えてくいただけませんか??