スプレッドシートで、1行に入れた関数が下の行に反映されない
スプレッドシート特有 ・ 対象: スプレッドシート
Googleスプレッドシートで先頭行に数式を入れたが、その下の行には自動で入らない。行を追加するたびにコピーするのが面倒。
原因
数式は入力したセルにしか効かないため、下の行には手でコピーする必要がある。列全体へ一度に適用したい場合は、Googleスプレッドシートの ARRAYFORMULA を使う。
次のいずれかが当てはまることが多いです。
- 1つのセルにしか数式を入れておらず、下の行にコピーされていない
- 行が増えるたびに数式を貼り足す運用になっている
まず確認すること
- 他の行のセルを見て、数式がコピーされているか(空になっていないか)を確認する。
直し方
- とりあえず反映させるだけなら、数式セルをコピーして下の行に貼り付ける(またはフィルハンドルで下へドラッグ)。
- 列全体に一度で適用したいときは ARRAYFORMULA で範囲をまとめて計算する。行を追加しても自動で反映される。
=ARRAYFORMULA(C2:C * D2:D) - 通常の数式を入力後に Ctrl + Shift + Enter を押すと、Googleスプレッドシートが ARRAYFORMULA( ) を自動で付けてくれる。
出典(公式ヘルプ)
- Google ドキュメント エディタ ヘルプARRAYFORMULA ↗
メニューやボタンの名称は、Excel(Windows / Mac / Web)や Googleスプレッドシートのバージョンで 異なることがあります。最終的な操作は上記の公式ヘルプでご確認ください。大切なファイルは 操作前にコピーを取っておくと安心です。