小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年11月29日【ID:0】

メンバー限定

【Excel】カテゴリー単位で交互に色付け


以下の表のように、特定の項目(カテゴリー)の値単位で交互に自動で色付けする方法について解説していきます。

※こちらで使用したファイルは記事の最後にて配布しています。

条件式の作成

まずは、色付けする行の条件式を作成していきます。
色付けする行の条件式は、以下の手順で作成していきます。

1.カテゴリーの重複を除いた表を用意
2.対象行のカテゴリーが重複を除いた表の上から何番目なのかを求める
3.(2)で求めた数値が偶数の場合にTRUEと表示する

では順番に作成していきます。


1.カテゴリーの重複を除いた表を用意

まずは、カテゴリーの重複を除いた表の用意です。
重複を除いた表を用意する際は、UNIQUE関数を活用します。
この関数の使い方は、以下になります。

=UNIQUE(配列, [列の比較], [回数指定])
// 配列:対象のデータの範囲
// [列の比較]:データが列方向の場合(TRUE)、行方向の場合(FALSE[省略時])
// [回数指定]:重複していないデータのみを抽出する場合(TRUE)、重複を除いた全件を抽出する場合(FALSE[省略時])

実際にUNIQUE関数を活用して数式を作成すると、以下のようになります。

=UNIQUE(C3:C100)
// 表の範囲は100行目までとする

※空白のセルは「0」として抽出されます。


2.対象行のカテゴリーが重複を除いた表の上から何番目なのかを求める

次に、それぞれの行のカテゴリーが先ほど抽出した表の何番目になるのかをMATCH関数を活用して求めます。
この関数の使い方は、以下になります。

=MATCH(検査値, 検査範囲, [照合の種類])
// 検査値:検索する値
// 検査範囲:検索する範囲
// [照合の種類]:(1)以下、(0)完全一致、(-1)以上(省略時は(1)が指定される)

実際にMATCH関数を活用して数式を作成すると、以下のようになります。

=MATCH(C3,UNIQUE(C3:C100),0)
// C3:検索する値
// UNIQUE(C3:C100):検索する範囲(直接UNIQUE関数を指定)
// 0:完全一致で検索

他の行でも、正しく求めることができることを確認します。
そのため、数式の中のカテゴリーの項目の範囲を絶対参照にします。
検査値に関しては、列方向に反映した際に、参照列が移動しないように列のみを絶対参照にします。

=MATCH($C3,UNIQUE($C$3:$C$100),0)

この数式を下へコピーすることで、カテゴリーが切り替わる位置で数値をカウントアップすることができます。

カテゴリーが入力されていない行に関しては、エラーが表示されます。
理由は、UNIQUE関数で抽出した値に空が存在しないためです。
(UNIQUE関数で抽出した値では、空が「0」になってしまっているため、空ではヒットしません。)

一度、エラーはこのままにしておきます。


3.(2)で求めた数値が偶数の場合にTRUEと表示する

次は、先ほどMATCH関数で抽出した、それぞれの値が偶数の場合にTRUEと表示する数式を作成していきます。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

4021418

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ