エクセル学習総合サイト

エクセル事典
HOME > 関数 > 配列数式の計算ルール:論理式

配列数式の計算ルール:論理式

スポンサード リンク
スポンサード リンク

配列数式を使うと、複雑な条件のデータを抽出することができます。 

「複雑な条件」は、論理式をうまく使うとまとめることができます。

例をあげて説明しましょう。

ここでの問題は、「電池以外の商品を、営業の森さんが扱った、商品の個数の合計はいくつか」です。


左図は、セルC9に配列数式を入れています。

セルC9の配列数式は、
=SUM((A2:A7<>"電池")*(B2:B7="森")*C2:C7)
となります。


では、式を細かく見ていきましょう。 

この問題は、「電池でない商品」かつ「森さんの扱い」という行を探し出し、その行の「個数」の和を求める、ということです。

(A2:A7<>"電池")は「電池でない商品」、(B2:B7="森")は「森さんの扱い」という意味です。

この2つの条件が「ともに成り立つ」(AND条件)という意味で、(A2:A7<>"電池")*(B2:B7="森") としました。これで抽出対象の行がわかりました。

最終的には、上述の条件に当てはまる行の個数の合計を求めるのですから、
=SUM((A2:A7<>"電池")*(B2:B7="森")*C2:C7)
という式になります。

ここで気をつけたいのは、「A2:A7」「B2:B7」「C2:C7」は、すべて6行1列の矩形であることです。

矩形が同じでないと配列数式は成り立ちません。実際、エクセルのなかでは「A2、B2、C2」「A3、B3、C3」「A4、B4、C4」.....「A7、B7、C7」というように、それぞれの矩形の位置に対応した数を使い計算をしています。

さて、ここではAND条件を配列数式でどう表現するかについて説明しましたが、他にもいろいろな条件を付けることができます。

  1. OR
    IF(((論理式)+(論理式))=0,0,1)

  2. NAND
    IF(((論理式)+(論理式))= 2,0,1)

と表現できます。 配列数式の中では、論理式の値がTRUEのときは数値の1、FALSEのときは数値の0に変換されます。

上述のAND条件の例では、(論理式)*(論理式)は、数値は1か0しかないので、論理式のあとに、個数を表すC2:C7を直接かけることができたのです。OR条件のときは、数値が0、1、2と3種類になるので、IF関数などを用いて適当な数字に変換すべきです。


スポンサード リンク
  ▲このページの上へ  
<- 前へ 目次 次へ ->
Copyright © 2005 -2011 エクセル事典 〜百聞は一見に如かず〜 All rights reserved.