作成したExcelデータや取得したExcelデータのデータを変更せずに、重複データを見えないようにする方法について紹介する。
イメージとしては、下記の左の表を右の表のように、上のセルの値が同じ値なら表示しないようにすることができる。
複数のカテゴリ別の表などを作成し、なおかつデータとして活用することができるようになる。
ポイント
- 条件付き書式で表示・非表示を切り替える
- 条件を相対位置で指定
- 書式設定→表示形式→ユーザー定義で「;;;」と指定
手順
「大項目」列を選択し、「条件付き書式」→「新しいルール」を順にクリック
「数式を指定して、書式設定するセルを決定」を選択し、下記の式を入力し、「書式」クリック
=(INDIRECT("RC",0)=INDIRECT("R[-1]C",0))
「表示形式」→「ユーザー定義」を順にクリックし、「種類」に「;;;」(セミコロン3つ)入力
「罫線」タブをクリックし、「罫線」セクションの上の線をクリックして線を削除して、「OK」クリック
すると、大項目で同じ値が続いた場合、2行目以降は値が消える。消えたセルを選択すると値としては残っていることがわかる。
続いて、2列目の「中項目」も同じように設定していく。
「中項目」列を選択し、「条件付き書式」→「新しいルール」を順にクリック
「数式を指定して、書式設定するセルを決定」を選択し、下記の式を入力し、「書式」クリック
=AND(INDIRECT("RC",0)=INDIRECT("R[-1]C",0),INDIRECT("RC[-1]",0)=INDIRECT("R[-1]C[-1]",0))
「表示形式」→「ユーザー定義」を順にクリックし、「種類」に「;;;」(セミコロン3つ)入力
「罫線」タブをクリックし、「罫線」セクションの上の線をクリックして線を削除して、「OK」クリック
すると、中項目で同じ値が続いた場合、2行目以降は値が消える。消えたセルを選択すると値としては残っていることがわかる。
条件式について解説
=(INDIRECT("RC",0)=INDIRECT("R[-1]C",0))
この条件式で、各セルごとに、対象セルの値と対象セルの1つ上のセルの値が同じか否かを判定している。
対象セルは、「INDIRECT(“RC”,0)」
対象セルの1つ上のセルは、「INDIRECT(“R[-1]C”,0)」で表現している。
この条件が合致する場合に、書式で設定した内容が反映される。
表示形式で「;;;」と指定することで表示しないという指定をしている。
=AND(INDIRECT("RC",0)=INDIRECT("R[-1]C",0),INDIRECT("RC[-1]",0)=INDIRECT("R[-1]C[-1]",0))
この条件式では、対象セルごとに、対象セルの値とその上のセルの値が同じか、且つ対象セルの1つ左とその上のセルが同じか否かを判定している。
①対象セルは、「INDIRECT(“RC”,0)」
②対象セルの1つ上のセルは、「INDIRECT(“R[-1]C”,0)」
③対象セルの1つ左のセルは、「INDIRECT(“RC[-1]”,0)」
④対象セルの1つ左のセルの上のセルは、「INDIRECT(“R[-1]C[-1]”,0)」で表現し、
AND関数内で、①=②と③=④をカンマで区切ることで、且つの部分を表現している。
3列以上ある場合は、上記の式をさらにAND関数内で、カンマで式を区切って記述する。
あとがき
INDIRECT関数で、セルの相対位置を指定する方法を覚えると、活用方法が一気に広がる。ぜひ覚えてほしい。
コメント