カテゴリー
Microsoft

【Excel】リストにあるデータかどうか判定して結果を表示する方法【Google スプレッドシート】

すこしタイトルがわかりづらいかしら。

たとえば、表のB列を調べます。「団A」と入力されたセルががありましたらその右のC列に「対象」と表示させたいのです。

これは難しくありませんわね?C1に「=IF(B1=”団A”, “対象”, “対象外”)」と入力してオートフィルすればよろしいですわね♪

では、「団A」「団B」「団D」「団E」のどれかがB列にございましたら、「対象」と表示させるにはどうしたらよいかしら?

むむむ。

調べてみましたら、素晴らしい解法がございました。自分なりに理解したことを、しっかりとノートいたします♪

スクリーンショット 2014-07-15 23.24.36.png

上の図で具体的に説明しますと、青い表の「顧客情報」内の『団体名』が、黄色い表の「団体名リスト」の中に含まれている場合には『対象チェック』に「対象」を、含まれていない場合には「対象外」を表示させたいですの♪

「対象」または「対象外」を表示させる、C 列に入れる計算式

  • =IF(COUNTIF(A$14:A$17,B7),“対象”,“対象外”)

2つの関数を使用しております。次ですの。

  • IF(論理式, TRUE値, FALSE値)
    論理式が TRUE の場合はある値を返し、FALSE の場合は別の値を返します。整数を判定するときは0以外なら TRUE、0なら FALSE
  • COUNTIF(範囲, 条件)
    範囲内で条件に一致する要素の個数を返します。

まずは、内側のCOUNTIF(範囲, 条件)ですの。

スクリーンショット 2014-07-15 23.25.42.png

  • =COUNTIF(A$14:A$17,B7)

内側は上記のようになりますわね。A$14:A$17 が黄色い表の「団体名リスト」、B7 が団体名で団体名リストに含まれているかどうか審査されます。

A$14:A$17 には「団A」「団B」「団D」「団E」がございますが、B7 は「団A」ですから、団体名リストの中に存在いたします。その個数は1です。よって、1が返却されます。

次に、外側のIF(論理式, TRUE値, FALSE値)ですわ♪

スクリーンショット 2014-07-15 23.25.19.png

  • =IF(1,“対象”,“対象外”)

先ほど、1 が返ってきましたので式に代入しますと、ずいぶんと単純な式となりました。

IF 関数は、論理式に整数が入ると0以外なら TRUE、0ならFALSEと反映されます。よって、この場合は「対象」が表示されます。

逆に、0の場合ですと、「対象外」が表示されます。

これで完成!少しずつ紐解いていきますとそれぞれはさほど難しくありませんわね。複雑な処理も、単純な処理の組み合わせであると、わかる良い例ですの♪

おわりに

例えば1シートに「顧客情報」(1000件ほど)があり、
別シートに「団体名リスト」(120件ほど)があるとします。
「顧客情報」内の『団体名』が別シート「団体名リスト」の中に含まれている場合には、「対象」。
含まれていない場合には、「対象外」としたいのですが、どんな関数を使用すればいいのでしょうか?

こちらのページ の内容で、今回のわたくしたちの悩みはすべて解決できましたの!しかも、単純な関数をたった 2 つだけ使用して!

一致した数を IF の判定に使うなんて、賢いですの!惚れ惚れいたしましたわ♪

関数が単純ですので、Excel だけではなく、Goolge ドライブのスプレッドシートでもできるのではないかしら?そう思いましてやってみましたら、やっぱり出来ましたの♪

以上です。

コメントを残す