この記事ではエクセルでコピーを数式や関数でそのまま(セル固定:ずれる:別ファイル:列全体にコピーなど)する方法について解説していきます。
セルに数式を入れてコピーしたら数式や関数がずれてしまい、エラーが出てしまったという経験はありませんか?
これらの解決策としては
・絶対参照(「$」をつける方法)をしてオートフィル(コピー)する
・名前の定義を設定する
・複合参照して列だけ、行だけを固定する
それではサンプルを用いて、詳細を見ていきましょう。
エクセルでコピーを数式や関数でそのまま(セル固定)にする方法【絶対参照でオートフィル】
絶対参照とは、セルを固定することです。
つまり、「どこにコピーをしても参照している位置は変わりません。」という意味です。
以下の表は単価と個数の合計に消費税を加えた小計を出すための表です。
「D4」に計算式「=B4*C4*D1」を入力して、「D7」までの列全体にオートフィルでコピーをした結果です。
「D1」の消費税が固定されていないため、小計に入力した数式をそのままオートフィルでコピーすると、エラーが出ました。
これは参照したセルが自動的に変わり、「D1」から1つずつセルがずれています。
つまりオートフィルでコピーすることによって、数式に入っている参照元もコピーした分だけ一緒にずれていく状態です。
これを相対参照と言います。
小計の計算には、消費税が入っている「D1」がずっと参照されてほしいわけです。
ここで絶対参照の登場です。
「D1」に「=B4*C4*$D$1」と入れます。
(「D1」を参照した後すぐに「F4」キーを1回だけ押しましょう。)
※「F4」キーはセルを絶対参照にできるショートカットキーです。
「D1」の計算結果をオートフィルして「D7」までコピーします。
「D1」~「D7」までの計算式は以下の通りです。
絶対参照によって参照している「D1」の位置は変わりません。
エクセルでコピーを数式や関数でそのまま(セル固定)にする方法
絶対参照以外の方法で計算することが出来ます。
それが、「名前の定義」です。
これは範囲やセルに名前を付ける機能のことです。
セルに名前を付けることで何処のセルを参照しているのかわかりやすくなります。
また別ファイルのセル参照をする際も便利です。
今回は、消費税の値が入っているセル「D1」に名前の定義を設定します。
「D1」を選択しておきます。
※名前ボックスには今選択されているセル番地(セルの住所みたいなもの)が表示されています。
名前ボックスに文字を入力します。
今回は仮に「消費税」と入力し、エンターキーを押します。
「D4」に「=B4*C4*消費税」と入れます。
D7までオートフィルでコピーします。
小計の計算式を表示すると下記の通りになります。
計算式にはセル番地ではなくつけた名前が表示されていますね。
エクセルでコピーを数式や関数でそのまま(セル固定)にする方法3
固定する方法は絶対参照のほかに、列だけ、行だけを参照する複合参照があります。
「$」マークが列番号の前だけにつく(列固定)、「$」マークが行番号の前だけにつく(行固定)があります。
下記表はエクセルで九九表を作成したものです。
「B2」に式を入れて、列にオートフィルでコピーをして、「J10」まで行にオートフィルでコピーをすると九九表の完成です。
「B2」には「1×1(=B1*A2)」という計算式を入れました。
このままオートフィルして列にコピーすると下記のような数字が出てきます。
数字がおかしくなっています。
オートフィルでコピーした計算式を見てみると、「B3」には「1×2(=B1*A3)」と入っていて欲しいのに、「=B2*A3」と入っています。オートフィルによって「B1」がずれて「B2」なってしまいました。
これは相対参照になっているということです。
そこで「B1」を固定したいと思います。
しかし、「=$B$1*A3」と絶対参照にした場合「B1」だけが固定されてしまうため列同士同じ数字になってしまいます。
行全体にコピーした時に「C1」「D1」を参照してくれないのです。
そこで出てくるのが複合参照です。
1行目を固定することによって、1行目の中だけでずれてくれるが2行目には移動しない。「B$1」となります。(行番号に$マークをつけるためにはB1を入れた後にF4キーを2回押します。)
しかし行だけ固定しても、オートフィルで行にコピーするとA列がずれてしまい、計算結果がおかしくなります。
そこで今度はA列を固定することによって、A列の中だけでずれてくれるがB列には移動しないという状態になります。「$A2」となります。(列番号に$マークをつけるためにはA2を入れた後にF4キーを3回押します。)
「B2」には「=B$1*$A2」が入ります。
それを列にコピーし、行にもコピーしていきます。
まとめ エクセルでコピーを数式や関数でそのまま(ずれる:別ファイル:列全体にコピーなど)
エクセルでコピーを数式や関数でそのまま(セル固定:ずれる:別ファイル:列全体にコピーなど)する方法について解説しました。
絶対参照、名前の定義、複合参照と様々な計算式、関数に役立てられます。
絶対に参照したい位置を変えたくない場合、且つオートフィルでコピーする際はぜひ使っていきましょう。