2025年1月3日【ID:0】
メンバー限定
【Excel】完全一致のデータを自動で色付け
以下のような表で、全ての項目が一致するデータが入力された時のみに、行全体を色付けする方法について解説していきます。
1つの項目に同じデータが入力された時に対象のセルを色付け
まず初めに、1つの項目のみで判定する方法について解説していきます。
特定の条件を満たしたセルのみを色付けする場合は、『条件付き書式』を活用します。
条件付き書式には、予め「重複した値を色付けする」という設定が用意されていますが、こちらの設定は複数列の場合に対応できないため、あえて条件式を作成して実現していきます。
条件式を作成する場合、色付けしたい行のみに「TRUE」が表示される数式を作成する必要があります。
例えば、商品名の項目のみで判定する場合、以下の数式を作成することで、先頭行(セルC3)に対して、同じ商品名の行のみに「TRUE」と表示することができます。
=C3:C20=C3
// 表の範囲を3~20行とした場合
この数式の結果のTRUEの数を集計することが出来れば、その行(セルC3の行)が重複しているのかどうかを判定することができます。
実は、TRUEという値は「1」、FALSEという値は「0」として管理されています。
そのため、「*」や「+」などの演算子を用いることで、数値として表示することができます。
=(C3:C20=C3)*1
後は、数値をSUM関数で以下のように合計するだけで、TRUEの数を求めることができます。
=SUM((C3:C20=C3)*1)
この数式の表の範囲のみを「$」で固定して、他の行にコピーし、重複している商品名の行のみに2以上の数値が表示されることを確認します。
=SUM(($C$3:$C$20=C3)*1)
// コピーする際に表の範囲が移動しないように「$」で固定する
ただ、このままですと、空白の行に関しても、2以上の数値が表示されてしまいます。
そのため、空白の行に関してはカウントしないように、「$C$3:$C$20=C3」という条件に「商品名が空白でない」という条件を加えます。
「尚且つ」という条件を加える場合は、「*」で条件式を掛けるだけで実現できます。
=SUM(($C$3:$C$20=C3)*($C$3:$C$20<>""))
// 「*1」は不要になる
このような数式を作成することができましたら、先頭に入力した以下の数式のみをコピーし、条件付き書式にて設定していきます。
=SUM(($C$3:$C$20=C3)*($C$3:$C$20<>""))
上記の数式は、セルC3に対する数式のため、セルC3を基準に対象の範囲を選択します。
次に、[ホーム]タブの[条件付き書式]から[新しいルール]を選択します。
次に、以下の画面で[ルールの種類]を[数式を使用して書式設定するセルを決定]にし、表示されたテキストボックス内に、先ほどコピーした数式を貼り付け、「1より大きい場合」という条件を加えます。
※条件付き書式に設定した数式は、選択範囲の基準のセルから他の選択範囲に相対参照で反映されます。(「$」が付いている参照は絶対参照になります。)
=SUM(($C$3:$C$20=C3)*($C$3:$C$20<>""))>1
後は、好みの書式を[書式]から設定します。
以上の設定で確定することによって、以下のように、商品名で同じ値が入力されているセルのみに色付けすることができました。
全ての項目が一致するデータが入力された時に行全体を色付け
先ほどの手順と同様に、次は、全ての項目が一致するデータの数を求める数式を作成します。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。
IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます