2024年5月3日【ID:0】
メンバー限定
【Excel】片方にしか存在しない値を見つける
2つのグループを比較し、片方にしか存在しない値に「×」を表示する数式の作成方法について解説していきます。
前半は、「「×」を表示する可能性がある全てのセルに数式を入力して実現する方法」について解説し、後半は、「スピルを活用して、それぞれのグループに対し、1つずつの数式のみで増減にも対応させる方法」について解説していきます。
後半の方法ですと、誤って数式を削除することが減るため、スピルに対応している場合はおすすめです。
・全てのセルに数式を入力する
まずは、「「×」を表示する可能性がある全てのセルに数式を入力して実現する方法」について解説していきます。
初めに、どのような条件の時に、値の隣に「×」を表示するのかを明確にする必要があります。
まずは、以下のAグループの先頭行について考えていきます。
セルC3に「×」を表示するかどうかは、以下の条件から判断できます。
・セルB3の値がE列に1つも存在していない場合に「×」を表示する
指定した値が指定した範囲内にいくつ含まれているのかは、COUNTIF関数を用いて求めることができます。
=COUNTIF(範囲, 検索条件)
// 範囲:確認する範囲
// 検索条件:範囲から数える条件
実際に、COUNTIF関数を用いて数えてみると、以下のような数式になります。
=COUNTIF(E:E,B3)
この数式の結果が0の時に、「×」を表示していきます。
そのため、この結果を元にIF関数で分岐させる必要があります。
=IF(論理式, 値が真の場合, 値が偽の場合)
// 論理式:TRUEもしくはFALSEを表す式
// 値が真の場合:論理式がTRUEの場合に表示する内容
// 値が偽の場合:論理式がFALSEの場合に表示する内容
実際に、先ほどのCOUNTIF関数と組み合わせたものが以下になります。
=IF(COUNTIF(E:E,B3)=0,"×","")
ちなみに、数値の0はFALSE、0以外はTRUEという意味にもなるため、以下のようにも表現することができます。
=IF(COUNTIF(E:E,B3),"","×")
// 「×」の位置が逆になる
この数式を表の最終行までコピーすることで、相対参照で反映することができます。
※E列に関して、E3:E14などと行番号を指定している場合は、「$E$3:$E$14」のように絶対参照にする必要があります。
次は、Bグループの判定になります。
Bグループに関しても先ほどと同様に、以下のような数式で実現することができます。
=IF(COUNTIF(B:B,E3),"","×")
・それぞれ1つのセルのみに数式を入力する
次に、「スピルを活用して、それぞれのグループに対し、1つずつの数式のみで増減にも対応させる方法」について解説していきます。
スピルというのは、数式を入力したセルから数式の結果を溢れて表示させる機能のことになります。
Excelのバージョンが2019以前のものに関しては対応していないため、実現することができません。
では、そんなスピルを活用して、以下の黄色のセルのみに数式を入力して実現する方法について解説していきます。
まずは、先ほど作成した数式から実現方法を考えていきます。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。
IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます