学習

Excelの魔法の数式を使おう

動的配列で時間と労力を節約しよう。

「Microsoft Excel」うまく使いこなすための機能をこちらでご紹介しましょう。その他の機能へのリンクは下記をご覧ください。

Excelの数式では、スプレッドシートの特定のセルについて一つの計算結果しか出せないと思っている人が少なくありません。

しかし、Excelの「動的配列」機能を使えば、一つの数式で複数のセルに、それぞれ個別の計算に基づく値を入力できます。これならミスを最小限にしながら、大きなワークブックも瞬時に作成できます。この魔法のような数式は、データの配列全体に対して計算を反復する必要がある場合にどこでも使用できます。

動的配列を使用することで、時間と労力をどのように節約できるか次に紹介する2つの例で見てみましょう。

手始めに:足し算表を作る

目標:次のような足し算表と解答キーを作って、子どもの算数の勉強を手伝うこと。また、答え合わせができるようにすること。

従来のやり方:足し算をする数値を先頭の列と行に入力し、表の1つ目のセルに「=C4+B5」などの数式を作成します。それをコピーして1行目に貼り付け、その行をコピーして下に貼り付けていきます。このやり方だと、コピー&ペーストを何度も繰り返さなければなりません。

動的なやり方:セルの範囲全体を参照し、すべての数値を一瞬で計算する数式を1つ作成します。

やり方:例として、以下の表の最初の解答セルに「=C4:J4+B5:B18」と入力します。「C4:J4」は1列目のセル範囲、「B5:B18」は1行目のセル範囲です。Enterキーを押せば、表全体への入力が完了するというわけです。

1つの動的配列数式(右)を使うことで、空の足し算表(左)に数が入力されました。

レベルアップ:人やカテゴリーでデータを集計する

目標:週間売上コンテストの受賞者を割り出し、各自の売上合計額を計算すること。新たな受賞者が追加されるたびに、その合計を更新すること。

従来のやり方:SUMIF関数を使えば、営業担当者ごとの売上は集計できますが、毎週新しい受賞者が追加され、セル範囲が広がっていくため、そのつど数式を手作業で調整しなくてはなりません。

動的な方法:動的配列を使えば、新しい受賞者が追加されるたびにセル範囲が自動で更新されます。

やり方:次の表は、これまでの週間受賞者を示しています。営業担当者の一覧を取得して重複分をカットするには、新しいUNIQUE関数を使います。ファイル内の空白の領域に「=UNIQUE(B3:B12)」と入力してください。「B3:B12」は現在の受賞者リストです。

各自の合計売上額を計算するには、特別なSUMIF関数を使います。Muratの名前の横の列に、「=SUMIF(B3:B12,E3#,C3:C12)」と入力しましょう。「B3:B12」は現在の受賞者リスト、「C3:C12」は週間売上のリストです。

ここで、番号記号(#)が威力を発揮します。「#」は動的配列の範囲全体を参照します。つまり、すべての新しい行が対象となるので、Enterキーを押せば、「Excel」が各自の売上を集計してくれるというわけです。

11週目の受賞者としてAlyssaを追加すると、そのデータが自動的に集計表に入力されます。

Excelでは「FILTER()」「SORT()」「SORTBY()」「SEQUENCE()」「RANDARRAY() 」など様々な関数にも動的配列を使用できます。動的配列なら、どの関数も一度だけ使えば、セルの値を無制限に入力できるので、時間を大いに節約できます。