Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

2026年03月27日著者:Denis

数百行にわたって数式を手動でコピーしたり、複雑なCtrl+Shift+Enterの配列数式と格闘した経験があるなら、Excelの動的配列はワークフローを大きく変えてくれます。動的配列の数式は1つ入力するだけで、結果に必要な分だけ自動的に展開されます。繰り返し作業も手動更新も不要です。このガイドでは、動的配列について知っておくべきことをすべて解説していきます。

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

Excelの動的配列とは?

動的配列とは、1つの数式が生成した値の範囲で、結果が隣接する複数のセルに自動的に「スピル(溢れ出す)」するものです。

動的配列が登場する前は、複数のセルに結果を出力するには、数式を手動でコピーするか、レガシーのCSE配列数式(Ctrl+Shift+Enterで入力)を使う必要がありました。CSE配列数式は出力サイズが固定されており、データに合わせて拡張・縮小することができませんでした。

動的配列数式はその制約を完全に取り除きます。数式を入力してEnterを押すだけで、残りはExcelが自動で処理します。元のデータが増えればスピル範囲も自動で広がり、データが減れば縮小します。

例: =SORT(UNIQUE(A2:A100)) と入力するだけで、重複を排除してソートされたリストが1つのセルから生成されます。CSEも作業列も不要です。

動的配列の仕組み:スピルの動作と主要な関数

スピルの動作

動的配列数式が複数の結果を生成すると、Excelはそれらをスピル範囲と呼ばれる連続したブロックに配置します。覚えておくべき点は以下の通りです。

  • 数式が入力されるのは左上のセルのみで、残りのセルにはスピルされた値が表示されます。
  • スピル範囲は元データの変更に合わせて自動的に更新されます。
  • 出力範囲内のいずれかのセルが占有されていると、Excelは#SPILL!エラーを返します。該当セルを空にすることで解消できます。
  • #演算子を使うとスピル範囲全体を参照できます。例えば =SUM(A2#) はA2の数式がスピルした値をすべて合計し、範囲が増減しても自動的に調整されます。
  • 動的配列数式はテーブル内では使用できません。通常のセル範囲に配置してください。

主要な動的配列関数

ONLYOFFICEのスプレッドシートエディタを使って、最も重要な関数を見ていきましょう。

1. FILTER — 条件に一致する行を抽出します:

=FILTER(A2:D200, B2:B200="East")

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

2. UNIQUE — 重複を排除したリストを返します:

=UNIQUE(A1:A8)

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

3. SORT — 数式で範囲を並べ替えます:

=SORT(A2:A9)

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

4. SEQUENCE — 連続した数値のグリッドを生成します:

=SEQUENCE(4; 7; 1; 1)

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

5. RANDARRAY — 範囲にランダムな数値を入力します:

=RANDARRAY(5; 3; 1; 100; 1)

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

整数を生成するには最後の引数を1に設定します。シートを更新するたびに再計算されます。

6. XLOOKUP — VLOOKUPの現代的な代替で、複数の列を一度に返せます:

=XLOOKUP(G2, A2:A200, B2:D200, "Not found")

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

結果は自動的に複数の列にスピルされます。検索関数の詳細については、Excel LOOKUP関数ガイドをご覧ください。これらの関数をネストする際は、関数の引数の仕組みを理解しておくと特に役立ちます。

動的配列のメリットと注意点

活用する価値がある理由

  • 自動展開 — 手動操作なしで、データのサイズに合わせて出力が調整されます。
  • 数式の削減 — 1つの数式が何十ものコピーを置き換え、ファイルの複雑さが軽減されます。
  • 可読性の向上 — 500個の同一コピーを追うより、1つのソース数式を確認するほうがはるかに簡単です。
  • エラーの削減 — 手動コピーによる参照の破損や微妙な数式のズレが発生しません。
  • 組み合わせの柔軟性 — 関数を自然にチェーンできます。例:=SORT(UNIQUE(FILTER(A2:A100, B2:B100="Q1")))

実用上の注意点

  • レイアウトの設計 — 数式の下と右に、スピル範囲のための十分な空白を確保してください。
  • 互換性 — これらの関数にはExcel 365・Excel 2021・またはONLYOFFICE Docsが必要です。古いバージョンのExcelには対応していません。
  • 大きな範囲 — 列全体にUNIQUEFILTERを適用すると再計算が遅くなる場合があります。入力範囲を実際のデータ行に限定しましょう。

動的配列の組み合わせ例

個別の関数に慣れてきたら、動的配列の真の力は組み合わせることで発揮されます。基本を超えた実践的なシナリオを紹介します。

RANDARRAYとRANKによるパフォーマンススコアカード

シナリオ:チームのパフォーマンススコアをシミュレートし、各メンバーに自動でランキング順位を割り当てたい場合です。

A2:A6に従業員名を設定します。

B2に50から100の間のランダムスコアを生成します:

=RANDARRAY(5; 1; 50; 100; 1)

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

スコアが確定したら、作業中に再計算されないよう値として貼り付けます(Ctrl+Shift+V → 値のみ)。

C2に各スコアのランク順位を割り当てます:

=RANK(B2; $B$2:$B$6; 0)

C6までドラッグします。$で参照範囲を固定することで、すべてのスコアが5人全員と比較されます。固定しないと、各行が自分自身とだけ比較されてしまいます。

Excelの動的配列を徹底解説:ONLYOFFICEでの実践例

結果として、各従業員の名前・スコア・チーム内の順位を示す3列のスコアカードが完成します。スコアが変わるたびに自動更新されます。手動での並べ替えも作業列も不要です。

活用シーン:誰に最も役立つか

データアナリストFILTERUNIQUESORTを使って、作業列やピボットテーブルなしで自動更新されるサマリーを構築します。

財務チームは新しい取引が追加されると自動的に更新されるレポートを作成し、SEQUENCEで会計期間の構造を管理します。

プロジェクトマネージャーはマクロ不要で、進行中のプロジェクト・担当者・期限超過のタスクを動的にリスト表示するタスクトラッカーを作成できます。

動的配列が活躍する場面:

  • 手動更新なしにライブデータを表示するレポートやダッシュボード
  • ドロップダウンやサマリー用のユニーク値リスト
  • 元データを変更せずに並べ替えやフィルタリングされたビューを作成する場面
  • XLOOKUPによる複数列の検索

ONLYOFFICEで動的配列を使い始めましょう

動的配列は現代のスプレッドシート作業における最も実用的なアップグレードのひとつです。1つの数式が何十もの数式を置き換え、結果は自動更新され、ファイルはすっきりとした状態を保てます。

まずは小さな変更から始めてみましょう。VLOOKUPの列をXLOOKUPに置き換えたり、次のドロップダウンにUNIQUEを使ったり、静的なコピー&ペーストの表の代わりにFILTERのサマリーを1つ作ってみたりしてください。スプレッドシートへの考え方がすぐに変わっていきます。

ONLYOFFICE DocSpaceの無料アカウントを作成してオンラインで、またはWindows・Linux・macOS向けの無料デスクトップアプリをダウンロードしてオフラインで、動的配列の全機能を試してみましょう。

オンラインで始める                    デスクトップアプリを入手

ONLYOFFICEの無料アカウントを登録する

オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業