スポンサーリンク

【Excel/初心者】エクセル塾:フィルター③番外編:区分ごとに行の色を変える

エクセル塾
スポンサーリンク
※当サイトは広告を含みます

エクセルとの付き合いは〇十年のパート事務員が僭越ながら開催しています、エクセル塾です。

前回はいろいろ使えるフィルターでした。

【Excel/初心者】エクセル塾:フィルター②いろいろ使えるフィルター

今回は、番外編マニアックネタ。表をシマシマにすると見やすいですよね。

テーブルでもシマシマのスタイルが多いですよね。

上記の表で、シマシマなのはいいんだけど、1行おきじゃなくてID毎のまとまりで色が変わったらここからここまでが同じIDだな、とわかりやすいですよね。でもテーブルだと、1行おきにシマシマにしてくれるけどID毎など不規則な行数だとシマシマにしてくれない。それをフィルターを使ってやってみたいと思います。

1.フィルターを使って表をブロックごとにシマシマにする方法

①ID毎の連番を振る

余白部分のE列に毎の連番を振っていきます。

セルE2に以下の式を入力し、最終行までコピーします。

=IF(B2=B1,E1,E1+1)

B列のIDが前の行のIDと同じなら同じ番号を、違ったら前の番号+1を入力する、という式です。

②ID毎の連番を2で割った余りを入力する

F列にE列に入力したID毎の連番を2で割った余りを表示する式を入力します。

ID毎連番が奇数の場合は1,偶数の場合は0が表示されます。

セルF2に以下の式を入力し、最終行までコピーします。

=MOD(E2, 2)

MODは対象を指定した数値で割った余りを返す関数です。MOD(対象、割る数)と指定します。

③フィルタでF列(ID毎連番を2で除算したあまりの列)で絞り込みし、セルの書式を設定する

フィルタの適用範囲をF列まで伸ばします。

F列を「0」で絞り込みし、セル範囲を指定して書式設定で薄い黄色で塗りつぶしします。

④フィルタを解除すると、ID毎にシマシマになっています

2.フィルターを使わないで表をブロックごとにシマシマにする方法

表の行数が大きい場合、上記のフィルターを使った方法だとエクセルに負荷がかかるようで、応答なしになってしまう、またはえらく時間がかかってしまう可能性があります。そんな時はF列の0/1で並べ替えして0(または1)のまとまりで書式設定して、そのあともともとの並びに戻す方法が早くて確実です。

1)前述1の①~③を行いF列に0または1を表示させます。

2)E列F列の式をコピー、値貼り付けして値に変換します

 並べ替えをすると式がおかしくなってしまうのを防ぐためです

3)IDに関係なく、通し番号を振ります。並べ替えした後に元に戻すための通し番号です。

今回はA列に通し番号がありますが、せっかくなのでG列に通し番号を振っておきます。

セルG2に「=G1+1」などと入力して最終行までコピーする。(最後に値貼り付けして値にしておくことを忘れずに)

または、セルG2に1、セルG3に2と入力しセルG2~G3を範囲選択、右下の部分をダブルクリックすると、最後まで通し番号が振られます。

4)F列の0/1で並べ替えする

5)並べ替え後、0のまとまりだけを書式設定(薄い水色)する

表が大きくて0の最後、つまり最初の1がどこにあるかわからないよぅというときはF列を選択してCtrl+Fで検索、「1」を検索して探してそこに飛びます。

6)G列の通し番号で並べ替えして元に戻す

今回は以上です。およみいただきありがとうございました。途中からフィルタは関係なくなりました。

わたしはいつもこの方法で〇〇毎に色分けをやっていますが、もっといい方法があるよ!という場合はコメントなどで教えていただけると助かります。

次回はフィルターを使った行の削除です。

【Excel/初心者】エクセル塾:フィルター④行の削除

エクセル塾:フィルターシリーズ

エクセル塾シリーズ

コメント

タイトルとURLをコピーしました