ADVERTISEMENT

【Googleスプレッドシート】セルの数式を一括コピーする!列方向の数式適用

【Googleスプレッドシート】セルの数式を一括コピーする!列方向の数式適用
🛡️ 超解決

スプレッドシートで複数のセルに同じ計算を適用したいとき、一つずつ数式を入力していては時間がかかりすぎます。特に列方向に数百行分の数式を設定する必要がある場合、効率的な方法を知らないと作業が非効率になります。この記事では、フィルハンドルやARRAYFORMULAなど、数式を一括コピーして列全体に適用する方法を詳しく解説します。これを読めば、数式の入力を大幅に短縮できるようになります。

【要点】セルの数式を列方向に一括コピーする方法

  • フィルハンドル(ドラッグ): セルの右下にある四角いハンドルを下方向にドラッグすることで、ドラッグした範囲に数式をコピーします。最も直感的な方法です。
  • ダブルクリック: フィルハンドルをダブルクリックすると、隣接する列にデータがある最終行まで自動で数式が入力されます。大量データに便利です。
  • コピー&ペースト: Ctrl+Cで数式をコピーし、Ctrl+Vで目的の範囲に貼り付けます。セル参照は自動調整されます。
  • ARRAYFORMULA関数: =ARRAYFORMULA(計算式)と書くことで、計算式を配列として扱い、ワンセルで列全体の計算を処理します。後からデータが増えても自動反映される利点があります。

ADVERTISEMENT

列方向に数式を適用する基本的な考え方

Googleスプレッドシートでは、セル参照の種類によってコピー後の動作が変わります。相対参照(A1など)はコピー先の位置に合わせて自動的に参照セルがずれます。絶対参照($A$1など)は常に固定のセルを指します。列方向の一括コピーでは、この参照方式を理解しておくことが重要です。例えば、B2に「=A2*2」と入力し、下にコピーするとB3には「=A3*2」と自動調整されます。この仕組みを利用して、数式を効率的に列全体に展開します。

数式を一括コピーする具体的な手順

フィルハンドルをドラッグする方法

  1. 数式を入力するセルを選択
    まず、コピーしたい数式が入っているセルをクリックして選択します。
  2. フィルハンドルを確認
    選択したセルの右下に小さな四角いハンドルが表示されます。このハンドルにマウスカーソルを合わせると、カーソルが十字の形に変わります。
  3. 下方向にドラッグ
    ハンドルをクリックしたまま、下方向に必要な行数までドラッグします。ドラッグ中にプレビューが表示されるため、正しい範囲を確認しながら作業できます。
  4. マウスを離してコピー完了
    目的の行までドラッグしたらマウスボタンを離します。すると、ドラッグした範囲の各セルに数式がコピーされ、相対参照が自動調整されます。

ダブルクリックで自動入力する方法

  1. 数式を入力したセルを選択
    コピー元の数式が入っているセルをクリックします。
  2. フィルハンドルをダブルクリック
    セルの右下にあるフィルハンドルをダブルクリックします。すると、隣接する左または右の列にデータが入力されている最終行まで、自動的に数式がコピーされます。
  3. 結果を確認
    数式が正しく適用されているか、数式バーなどで確認します。この方法は、隣接列にデータの途切れがない場合に特に有効です。

コピー&ペーストで貼り付ける方法

  1. 数式をコピー
    コピー元のセルを選択し、Ctrl+C(Macの場合はCmd+C)を押して数式をコピーします。
  2. 貼り付け先の範囲を選択
    貼り付けたい先頭セルをクリックし、そのまま下方向に必要な行までドラッグして範囲を選択します。範囲を選択せずに先頭セルだけ選択しても、後で自動拡張されます。
  3. 数式を貼り付け
    Ctrl+V(Macの場合はCmd+V)を押して数式を貼り付けます。選択した範囲に数式がコピーされ、セル参照が自動調整されます。
  4. 注意点
    通常の貼り付けでは書式もコピーされます。書式をコピーしたくない場合は、Ctrl+Shift+V(値のみ貼り付け)などを使い分けましょう。

ARRAYFORMULA関数を使う方法

  1. 数式を入力する先頭セルを選択
    数式を適用したい列の先頭セル(例: C2)を選択します。ここにARRAYFORMULAと組み合わせた数式を入力します。
  2. ARRAYFORMULAを含む数式を入力
    例えば、A列とB列の合計をC列に表示する場合、C2に「=ARRAYFORMULA(A2:A+B2:B)」と入力します。これで、A2:AとB2:Bの範囲全体の計算が一度に行われます。
  3. Enterキーで確定
    数式を入力したらEnterキーを押します。すると、数式が入力されたセルから下方向の行に自動的に計算結果が表示されます。セルごとに数式が入るわけではなく、一つの数式で配列全体を処理します。
  4. データ追加時の挙動
    後からA列やB列に新しい行を追加しても、ARRAYFORMULAの範囲が自動拡張されない場合があります。範囲を広げたいときは、数式内の範囲指定(A2:Aなど)を目的の行まで広げてください。

各方法の注意点と使い分け

フィルハンドルのドラッグが重くなる場合

行数が多いシート(数千行など)でフィルハンドルをドラッグすると、動作が重くなることがあります。その場合は、ダブルクリック方式やARRAYFORMULAを検討しましょう。ダブルクリックなら一瞬で最終行まで反映されます。

ダブルクリックで期待した行までコピーされない

ダブルクリック方式は、隣接する列にデータが連続して入力されていることが条件です。途中に空白行があると、その手前までしかコピーされません。その場合は、空白行を埋めるか、別の方法を使ってください。

コピー&ペーストでセル参照がずれてしまう

コピー元の数式に絶対参照($A$1)と相対参照(A1)が混在している場合、意図しない参照になってしまうことがあります。絶対参照を正しく設定しておかないと、コピー先で数式が壊れます。事前に参照方式を確認しましょう。

ARRAYFORMULAでエラーが発生する

ARRAYFORMULA内で使う関数によっては、配列演算に対応していないものもあります。例えばSUM関数を単独で使うとエラーになります。代わりにSUMIFやSUMPRODUCTなど配列対応の関数を選ぶか、IFERRORでエラーを処理してください。

ADVERTISEMENT

各方法の比較表

方法 操作性 データ更新時の反映 推奨シーン
フィルハンドルドラッグ マウス操作が必要で、手動 手動で再コピーが必要 小規模データ・一時的な作業
ダブルクリック ワンクリックで自動実行 手動で再実行が必要 隣接列に連続データがある場合
コピー&ペースト キーボード操作で素早い 手動で再ペーストが必要 特定の範囲だけに数式を入れたい場合
ARRAYFORMULA 最初の設定が必要だが後は自動 範囲内なら自動更新される 大量データや継続的に行が増える場合

まとめ

この記事では、Googleスプレッドシートでセルの数式を列方向に一括コピーする4つの方法を説明しました。フィルハンドルのドラッグやダブルクリックは直感的に使えるため、日常的な操作に適しています。コピー&ペーストはキーボードだけで処理でき、ARRAYFORMULAは一度設定すれば後からデータが増えても自動的に計算が反映される点が大きな利点です。自分の作業スタイルやデータの規模に合わせて適切な方法を選んでください。次に、複数列への同時コピーや、行方向への展開など、応用テクニックにも挑戦してみましょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。