小技集

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



2024年5月3日【ID:0】

メンバー限定

【Excel】片方にしか存在しない値を見つける


2つのグループを比較し、片方にしか存在しない値に「×」を表示する数式の作成方法について解説していきます。

前半は、「「×」を表示する可能性がある全てのセルに数式を入力して実現する方法」について解説し、後半は、「スピルを活用して、それぞれのグループに対し、1つずつの数式のみで増減にも対応させる方法」について解説していきます。

後半の方法ですと、誤って数式を削除することが減るため、スピルに対応している場合はおすすめです。

ExcelVBAレベル確認

・全てのセルに数式を入力する

まずは、「「×」を表示する可能性がある全てのセルに数式を入力して実現する方法」について解説していきます。

初めに、どのような条件の時に、値の隣に「×」を表示するのかを明確にする必要があります。
まずは、以下の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予備-連携]で連携できます


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


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





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

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


- 人気の記事 -



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



サイト累計閲覧数

5589013

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

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】設定画面のテキストボックスで矢印キーを使用

【Excel】条件付き書式で検索機能を作成

【Excel】重複を考慮した上位3件を抽出

【Excel】INT関数とROUNDDOWN関数の違い

【Excel】PDFファイルを読み込む方法

【ExcelVBA】ActivateとSelectの違い

【Excel】組織図を簡単に作成する方法

【Excel】グラフの日付軸の表示設定

【Excel】指定したセルを別のセルの間に移動する

【Excel】散布図で値が重複する場合の対策

【Excel・Googleスプレッドシート】セルを囲む薄い線を非表示にする

【Excel】住所から都道府県のみを抽出

【ExcelVBA】自作関数(ユーザー定義関数)が自動更新しない

【Excel】予定表から労働時間を色んな形式で求める

【Excel】今日の日付の行を色付け

【Excel】特定の項目が特定の値の場合に行全体を色付け

【Excel】上限額を設定して支給額を自動で求める

【Excel】計算なしで年代別集計

【Excel】指定項目の要素別の表を瞬時に作成

【Excel】複数シートを一括修正

【Excel】FILTER関数で存在しない場合に好みのデータを表示

【Excel】VLOOKUP関数で項目名から値を抽出

【ExcelVBA】データ登録フォームを開発する

【Excel】BYROW(COL)関数でスピル非対応の関数を対応させる

【Excel・Googleスプレッドシート】ExcelファイルをGoogleスプレッドシートで開くと…!?





一覧ページへ

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