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

論理値は、加算できる

 

論理値を加算すれば、条件に合致する度合いを、段階的に評価することができます

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

ですから、条件式の結果であるTRUEとFALSEは、加算(足し算)を行えます。ただし、論理値は数値ではないので、SUM関数では合計を求めることはできません。SUM関数で複数の条件式の結果を加算する場合には、論理値をあらかじめ数値化する必要があります。

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

SUMPRODUCT関数を使えば、同じ計算を通常の数式で行うことができます。配列数式を設定できない条件付き書式では、SUMPRODUCT関数で論理値を加算します。

複数の条件式の判定はOR関数でも行えますが、OR関数の結果はTRUEとFALSEの二者択一なので、論理値の加算のような段階的な評価は行えません。

 

 

 

条件式をセルに入力すると、その評価がTRUE(真)かFALSE(偽)で表示されます。
このTRUEとFALSEは、それぞれ論理値の1と0でもあるので、加算して、TRUEの個数を求めることも可能です。

ただし、論理値は数値ではありません。そのため、SUM関数で合計を求める場合には、あらかじめ1を乗算して数値化しておく必要があります。
数値化しておけば、SUM関数でTRUEの個数を求められるようになります。

通常の数式はEnterキーで確定しますが、配列数式にする場合はその代わりにCtrl+Shift+Enterキーを押します。配列数式を表す両端の{}は、その際に自動的に付加されます。

上の画面で言うと、「=SUM(B5:G5*1)」という数式を入力してから、Ctrl+Shift+Enterキーで確定すると、両端の{}の付加された配列数式になります。

論理値の数値化は、配列数式にすれば、SUM関数内で行うことができます。

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

配列数式には、条件式も含められます。

この例のSUMPRODUCT関数式では、B8〜G8の各セルで「100%」の比較が行われ、その結果としての論理値に1が乗算された配列となり、それらがさらに加算されています。

配列の積を求めてから、それらの和を計算することのできるSUMPRODUCT関数なら、配列数式にすることなく、条件式からTRUEの個数を調べることができます。

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

※IF関数の場合には、Ctrl+Shift+EnterでIF関数式そのものを配列数式にすれば、SUM関数を使った条件式の使用も可能です。

ちなみに、OR関数を使えば、複数の条件式を評価できますが、TRUEとFALSEの二者択一なので、TRUEの個数による段階的な評価は行えません。

 

<< 特集「条件式(論理式)の考え方」 質問や要望などはこちらへ 【条件付き書式での使用例】
目標達成月数で色分けする >>

 

関連する他のページ

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

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

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

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

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

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