エクセル実践塾 > 特集「条件式の考え方」

論理値を乗算し、AND条件として使う

 

論理値の乗算では、1(TRUE)のみであるときにだけ、1(TRUE)となります

条件式(論理式)が評価されると、真(TRUE)か偽(FALSE)の判定が下され、それによって条件付き書式やIF関数が働きます。このTRUEとFALSEは、論理値としての1と0と同義です。

この論理値は、乗算(掛け算)も可能です。乗算の場合には、一つでも0(FALSE)が含まれていると、0という結果になります。すべての1(TRUE)の場合にだけ、1という結果になります。

つまり、論理値の乗算で、AND条件の指定が行えるわけです。

ただし、論理値は数値ではないので、積を求める関数PRODUCTは 直接には使えません。PRODUCT関数で複数の条件式の結果を乗算する場合には、論理値をあらかじめ数値化する必要があります。

論理値の数値化をPRODUCT関数内で行う場合には、PRODUCT関数を配列数式にします。

INDEX関数と組み合わせれば、同じ計算を通常の数式で行うことができます。配列数式を設定できない条件付き書式では、INDEX関数と組み合わせたPRODUCT関数で論理値を 乗算します。

論理値の乗算によるAND条件は、おなじことをAND関数でも行えますが、比較する値が同じなら、論理値の乗算のほうが条件式をシンプルにできます。

 

 

 

 

条件式をセルに入力すると、その評価がTRUE(真)かFALSE(偽)で表示されます。

このTRUEとFALSEは、それぞれ論理値の1と0でもあるので、 乗算(掛け算)することができます。

論理値を乗算すると、すべてTRUE(=1)の場合にだけ、1の結果が得られます。

乗算の対象範囲に一つでもFALSE(=0)が混じっていると、その結果は0となります。

論理値は数値では ないので、PRODUCT関数で乗算する場合には、あらかじめ1を乗算して数値化しておく必要があります。
論理値を数値化しておけば、PRODUCT関数が使えます。
論理値の 乗算によるAND条件は、おなじことをAND関数でも行えますが、条件式は煩雑となります。
各セルの条件式による判定と、論理値の数値化は、配列数式にすれば、PRODUCT関数内で行うことができます。

配列数式を表す両端の{}は、数式確定時にCtrl+Shift+Enterキーを押すことで自動的に付加されます。

配列 を格納できるINDEX関数と組み合わせれば、配列数式にすることなく、PRODUCT関数で論理値の乗算を行えます。

条件付き書式では配列数式を条件式として設定できないので、この方法を用います。

※IF関数の場合には、Ctrl+Shift+EnterでIF関数式そのものを配列数式にすれば、PRODUCT関数だけで論理値の乗算が可能です。

ちなみに、INDEX関数に格納されている配列の値は、配列数式にすることで確認できます。

この例では、INDEX関数には、数値化された論理値が格納されていることがわかります。

この例では、INDEX関数には、論理値そのものが格納されていることがわかります。
この例では、INDEX関数には、セル値そのものが格納されていることがわかります。

 

<< 論理値は、加算できる 質問や要望などはこちらへ 【条件付き書式での使用例】
すべての月で目標を達成した者だけを強調表示する >>

 

関連する他のページ

一つの条件付き書式に、OR条件を設定する
OR関数なら、指定した条件のいずれかが真であれば、書式が適用されます

上のセルと同じ値になっているセルを強調したい
条件付き書式で、上のセルとの比較を行えば、同じ値の続くセルを適当な書式で強調できます

同じ値が連続するセル範囲を強調したい
上のセルとの比較、そして下のセルとの比較を行い、いずれかの条件式がTRUEの場合、同じ値が連続するセル範囲の1つだと判断できます

同じ値が続くセル範囲を、2色で色分けする
同じ値が連続するセル範囲を1か2で区別すれば、その値を使った条件付き書式で色分けできます

複数の条件付き書式を設定して、その優先順位を管理する
「条件付き書式」→「ルールの管理」で、条件付き書式の優先順位を変えられます

一つの条件付き書式に、AND条件を設定する
AND関数を使えば、指定した条件すべてに合致する場合にのみ、書式が適用される条件式を作れます