独学MOS

配列数式の利用

配列数式とは

配列とは複数のセルに入力されたデータの集まりです。配列を利用した数式を配列数式と呼び特定の範囲どうしを数式で処理することができます。

配列数式の利用例

例として以下の表の注文金額列を配列数式を使用して作成します。

注文数 単価 注文金額
2 100 200
3 10 30
5 20 100

配列数式を利用しない場合、注文金額に設定する数式はおそらく以下のような数式でしょう。(「注文数」がセル「A1」、「単価」がセル「B1」の場合)

注文数 単価 注文金額
2 100 =A2*B2
3 10 =A3*B3
5 20 =A4*B4

しかし、配列数式を利用する場合は上記のような数式とは異なります。手順は以下の通りです。

  1. 数式を入力するセル範囲を選択
  2. 配列数式を入力
  3. Ctrl + Shiftを押しながらEnterを押下

配列数式の入力が終わると選択していたセル範囲すべてに同じ数式が設定されます。配列を使用することで「数式でセル範囲を利用することができる」ということを覚えておいてください。

配列数式と条件分岐

配列数式はIF関数およびSUM関数と組み合わせることで、特定のセル範囲に対して条件に合うデータの合計を計算したり数を数えたりすることができます。例として以下のような表があったとします。(「名前」がセル「A1」、「学年」がセル「B2」、「クラス」がセル「C1」の場合)

名前 学年 クラス
山田 一郎 3 A
山田 二郎 2 A
山田 三郎 1 A
山田 四郎 1 B
山田 五郎 1 C

上記の表から以下の3項目を配列数式を使って計算してみます。

  • 1年生の人数
  • 1年生でAクラスに所属する人数
  • 学年に関係なくAクラスかBクラスに所属する人数

1年生の人数

1年生の人数を求めるには「学年」が「1」になっている人の数を数えれば求めることができます。必要な配列数式は以下の通りです。

{=SUM(IF(B2:B6=1,1,0))}

この配列数式の結果は「3」になります。

1年生でAクラスに所属する人数

1年生でAクラスに所属する人数を求めるには「学年」が「1」、「クラス」が「A」という二つの条件に当てはまる人の数を数えれば求めることができます。必要な配列数式は以下の通りです。IF関数の条件を「*(AND条件)」で二つ繋げている部分がポイントです。

{=SUM(IF((B2:B6=1)*(C2:C6="A"),1,0))}

この配列数式の結果は「1」になります。

学年に関係なくAクラスかBクラスに所属する人数

学年に関係なくAクラスかBクラスに所属する人数を求めるには「クラス」が「A」か「B」というどちらか1つの条件に当てはまる人の数を数えれば求めることができます。必要な配列数式は以下の通りです。IF関数の条件を「+(OR条件)」で二つ繋げている部分がポイントです。

{=SUM(IF((C2:C6="A")+(C2:C6="B"),1,0))}

この配列数式の結果は「4」になります。