数式を飛び飛びセルへコピーすると参照がずれる時の回避法
ここでは、数式を飛び飛び(数行おき)のセルへコピーした時に起こる参照のずれを回避する方法について解説します。
参照のデータは連続しているけど数式は数行おき、またはその反対でも対応できる方法です。
1.まずはやりたいことを確認
始めに、やりたいことを例を含めて確認します。
1-1.数式を飛び飛びのセルにコピーしても正しい参照先にする
やりたいことは、「数式を飛び飛びのセルにコピーしても正しい参照先にする」です。
そもそも、エクセルは数式をコピーすると参照先も相対的に変わります。
例えば、一つ下にコピーすると参照先も一つ下がります。
これが参照してほしいセルであればいいのですが、「一データに複数行」使っていたりすると、参照先がずれてしまいます。
ここでは、このような「一データ複数行」のケースでも参照先をずらさない数式を紹介します。
1-2.例で確認
ひとつ例を見てみましょう。
上の例の左側は商品ごとの仕入値と売価の表で、右側は利益額の一覧表です。
そして、「左側にある仕入値と売価を右側の表に表示させたい」とします。
しかし、問題点は「単純に『=セル番号』では手間がかかりすぎる」ことです。
例えば、ねぎの仕入値を左の表から「=C4」で持ってきたとします。
ただし、これを下のセルにコピーしても当然正しい値は入りません。
左表のかぼちゃの仕入値が、右表のねぎの売価に入ってしまいました。
これは、数式のコピー先に応じて参照先も同じ分だけ移動するからです。
すると、一つ一つ「=セル番号」と入れていかなければならないのか?となります。
そんなことはありません。ちゃんと方法はあります。
数式を入れるのは赤枠部分だけにして、下にコピーすればそれぞれ正しい値が表示させるようにできます。
2.数式の形と引数の入れ方
では、数式の形と各引数の入れ方を見ていきます。
2-1.数式の形は
数式の形は、次の通りです。
指定するのは、「元表最上段のセル番号」と「コピー先の行間隔」、「元表の行間隔」の3つです。
2-2.引数の指定の仕方
次に、引数の指定の仕方を、例を参考にしながら説明します。
以下、例の表です。
(1) 元表最上段のセル番号
「元表最上段のセル番号」には、参照元の表のうち、一番上のセル番号(タイトル行は除く)を入れます。
例えば、「仕入値を入れたい」といった時には、元表(左の仕入値表)の仕入値が入っているC3~C5のうち「C3」が「最上段のセル番号」となり、これを全部で「3ヶ所」に入れます。
ただし、1・2か所目は「絶対参照」で、3か所目は「相対参照」で入れてください。
絶対参照とは、「$C$3」のように「$」を2つ付けた状態のことで、相対参照とは、「C3」のように「$」を付けない状態のことです。
すると、例の場合セルH3に入れる数式は、この時点で次のようになります。
=OFFSET($C$3,ROUNDDOWN(ROWS($C$3:C3)/コピー先の行間隔*元表の行間隔+1,0),0)
(2)コピー先の行間隔
「コピー先の行間隔」には、「数式をコピーするセルが何行おきか?」を数値で指定します。
例では、右表の仕入値が3行おきになっているので「3」と入れます。
すると、この時点で数式は次のようになります。
=OFFSET($C$3,ROUNDDOWN(ROWS($C$3:C3)/3*元表の行間隔+1,0),0)
(3)元表の行間隔+1
「元表の行間隔」には、「元表の値が何行おきか?」に「1」を加えた値を指定します。
例では、左表の仕入値がC3、C4、C5と1行も空かずに入っているので、0+1で「1」と入力します。
すると、数式は次のようになって完成です。
=OFFSET($C$3,ROUNDDOWN(ROWS($C$3:C3)/3*1,0),0)
ちなみに、セルH3に入れた数式をセルH6とH9にコピーすると、ちゃんと正しい結果が返ってきました。
3.数式の作り方を確認
続いて、数式の作り方を見てみます。
以下、手順です。
(1)以下の数式をコピーし、セルに貼り付ける
【コピーする数式】
(2)1つ目の「元表最上段のセル」の文字を消し、該当するセル番号を入力後、F4キーを1回押す
※ F4キーとは「キーボード最上段の『F4』と書かれたキー」のことです
(3)2つ目の「元表最上段のセル」も(2)と同じように行う
(4)3つ目の「元表最上段のセル」は、セル番号入力後にF4キーを押さない
(5)「コピー先の行間隔」の文字を消し、数値で指定する
(6)「元表の行間隔+1」の文字を消し、数値で指定後にEnterキーを押せば完了
4.複数行まとめてコピーするには
最後に、複数行まとめてコピーする方法です。
例をもとに、手順を確認してみます。
(1)セルH4(売価)にも同様の手順で数式を入れる
(2)利益額は「=売価-仕入値」で求める
(3)数式を入れた3行を範囲選択する
(4)範囲の右下にカーソルを当て、「+」マークになったら下に左ドラッグして離せば完了
【口コミ・評判のいいExcel本の紹介】