Arrayformulaで関数を1行に!スプレッドシートに乗り換える?

Arrayformulaで関数を1行で!スプレッドシートに乗り換える?
目次

Arrayformulaで関数を1行に!スプレッドシートに乗り換える?

Arrayformulaで関数を1行で!スプレッドシートに乗り換える?

Arrayformula関数をご存じでしょうか?

Excelにはないスプレッドシート独自の代表的な関数で、Arrayformula関数があるからエクセルからスプレッドシートに乗り換える人がいるほど便利な関数です。

Excelになくてスプレッドシートには存在する便利な関数は以下にまとめていますので、スプレッドシート独自の便利な関数に興味がある方はご覧ください。

あわせて読みたい
エクセルにはない!便利なスプレッドシートの関数まとめ12個 スプレッドシートの関数中でも特にエクセルにはない関数をまとめました。今まで当ブログで紹介したスプレッドシート関数の使用方法や活用方法に関する詳細な解説記事もまとめています!Excelトスプレッドシートを用途に合わせて使い分けて作業効率向上!

なぜArrayformula関数が便利かというと、エクセルであればいくつも関数をセルに入力しなければいけない場合でも、スプレッドシートのArrayformula関数を使用することで関数の記述を1行で完結させてしまうことができるのです!

ここまで聞いてとても便利そうだと思った方は下の解説もご覧ください。
画像を交えながらできるだけ分かりやすく解説していきます!

Arrayformula関数の使用方法

早速、Arrayformula関数を使用方法を解説していきます。

Arrayformula関数の記述方法(構文)は以下です。

ARRAYFORMULA(配列数式)

Arrayformula ドキュメント エディタ ヘルプ

「配列数式」と言われてもよくわからないので、実例を交えて解説していきます!

IF関数で複数の行のテストの合計点数の合否を判定する場合をExcelスプレッドシートそれぞれの場合を例に挙げて解説していきます。
もちろんスプレッドシートではArrayformula関数を使用します!

Excelの場合 – Arrayfomula関数なし

まずはExcelの場合。
各教科の合計点が300点より高ければ「合格」、低ければ「不合格」と表示します。

 Arrayfomula関数_Excel例

Excelの場合、上の画像のようにすべての行に関数を入力する必要があります。

スプレッドシートの場合 – Arrayfomula関数あり

続いてArrayformula関数を用いたスプレッドシートの場合です。

以下のように記述してIF分の比較対象となるセルに合計列を参照します。

=Arrayformula(IF(G2:G6>300,"合格","不合格"))
 Arrayfomula関数_スプレッドシート例

そして、上のArrayformula関数の入力を完了すると、以下のように1つの関数の記載で、全ての行の合否を判定することができます!

 Arrayfomula関数_スプレッドシート例_結果

このようにArrayformula関数を使用することで1つセルに関数を記述するだけで、参照した範囲に対して関数を適応することができます。

Arrayformula関数を使用する理由

1つのセルのみに関数を記述するだけで複数のセルに対して同じ関数を適応できるArrayformula関数なので、一見時短になって便利になりそうです。

しかし、別にExcelでもスプレッドシートでも「オートフィルで関数をコピーしてあげれば良いんじゃないの?」と思う方がいらっしゃるのではないでしょうか?

例では5行しかないので実感が湧きませんが、大量の行がある場合、セルに記述された関数の数だけ関数が実行されることになるので、大量データに対して関数を実行する場合は動作が重たくなってしまいます。

そのため、ひとつのセルに関数をまとめることができるArrayformula関数では結果の表示速度を高速化させることができます!

また、関数が複数のセルに渡って連続で記述されている場合、何かの拍子にひとつのセルを触ってしまい記述が誤っていた場合に修正箇所が分かりにくいです。

ひとつのセルに関数が記載されている場合、修正する箇所は一か所なので、修正も簡単になりますね!

・関数を1つにまとめることができる。

・実行させる関数が1つになることで動作を軽くする。

・後で修正があった場合に修正が簡単(修正漏れが発生しない)。

Arrayformula関数の注意点

Arrayformula関数を使用する際の注意点も以下にまとめていますので、使用の際に参考にしてみてください。

選択範囲に文字列が入力されているとエラーが出る

選択範囲に文字列が含まれているとエラーが出てしまいますので、選択された範囲内のセルには何も入力しないようにしましょう。

以下のように範囲内に文字列が入力されてしまうと、

 Arrayfomula関数_スプレッドシート_エラー

下の画像のようにエラーが発生してしまいます。

 Arrayfomula関数_スプレッドシート_エラー_結果

Arrayformula関数が使えない関数

大変便利なArrayformula関数ですが、Arrayformula関数が使えない関数もありますので、注意が必要です。

Arrayformula関数が使用できない代表的な関数を以下にまとめておきます。

Arrayformula関数が使えない関数
  • SUM
  • AVERAGE
  • COUNT
  • SUMIFS
  • COUNTIFS
  • IFS

基本的には関数の構文に範囲選択が使用される関数にはArrayformula関数は使えないと覚えておきましょう。

ただ、vlookupのように範囲選択があっても使用できる例外も存在しますが、Arrayformula関数を使っていくうちにどの関数であれば使用できるかは分かってくるはずです!

まとめ:スプレッドシートのArrayformulaで関数の動作を高速化!

Arrayfomula関数があるからExcelからスプレッドシートに乗り換える人もいるほどに便利なArrayfomula関数の使用方法について解説いたしました。

この記事でお伝えした内容は以下です。

Arrayformula関数まとめ
  • 関数の入力をひとつのセルにまとめることができる
  • 動作の高速化ができる
  • 修正漏れが防ぐことができる
  • Arrayformulaと組み合わせて使えない関数もある

Arrayformula関数があるからと言ってスプレッドシートに完全に乗り換える必要はないですが、Excelとスプレッドシートそれぞれの短所や長所を理解して適切な場面で使い分けることで作業を効率化していきましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

文系出身の社内SEブロガー。
大学時代に語学留学、ワーキングホリデーを経験、大学卒業後は新卒でSIerにSE(システムエンジニア)として就職し、落ちこぼれて退職。
1年間フリーターとしてスニーカーを販売した後に商社の社内SEに転職。
意識高そうで低そうな経歴で、いつも何か行動しなくてはと必死です。
趣味はギター、ベース、スケボー、読書、ファッションと筋トレを少々。
見てくれたらうれしいです。

コメント

コメント一覧 (1件)

コメントする

目次