A列に数量1・2・3、1行目に単価100・200・300を置いた入力用の図解
Tutorials

Excelの数式を縦横にコピーする方法|混合参照で単価と数量の計算表を作る

Excelの数式を縦横にコピーするなら、A列と1行目を分けて固定する

数量をA列、単価を1行目に置く表では、B2に =$A2*B$1 を入れます。これを右へコピーし、完成したB2:D2全体を下へコピーするのが結論です。

$A2 は数量があるA列を固定し、B$1 は単価がある1行目を固定します。この2つを掛けると、数量と単価の組み合わせだけを変えられます。

このように列と行の一方だけを固定する参照が混合参照です。Microsoftの日本語資料では「複合参照」と呼ばれています。

すべてに $ を付けるのではなく、コピーしても変えたくない列や行だけを固定します。参照方式の違いはMicrosoftの数式の概要でも確認できます。

以下はWindows版Excelで通常のセルコピーを使う手順です。参照の仕様は2026-10-22にMicrosoft公式資料で確認しています。

参照資料の適用先にはExcel for Microsoft 365、2024、2021、2019、2016、Excel Web Appが含まれます。この列挙は各環境で操作確認した意味ではありません。

手順1|新しい空白シートに数量と単価を入力する

練習には新しい空白シートを使います。既存の仕事用データを消したり、上から入力したりせず、A1:D4が空の状態から始めてください。

A1に見出しの「数量/単価」を入れます。A2、A3、A4へ順に1、2、3を入れ、B1、C1、D1へ100、200、300を入れます。

数量は個、単価と計算結果は円とする架空の例です。セルには「100円」ではなく、計算に使える数値の 100 を入れます。B2:D4はまだ空欄です。

数量\単価 100 200 300
1 空欄 空欄 空欄
2 空欄 空欄 空欄
3 空欄 空欄 空欄

A列に数量1・2・3、1行目に単価100・200・300を置いた入力用の図解

図1:架空データの入力位置を示す独自図解です。実際のExcel画面ではありません。

手順2|B2に =$A2*B$1 を入力する

B2を選び、半角で =$A2*B$1 と入力してEnterキーで確定します。1×100なので、B2の結果は100になります。

$A2 の $ は列記号Aの直前にあります。そのため、右へコピーしても数量はA列から読みます。下へコピーすると行番号は2、3、4と進みます。

B$1 の $ は行番号1の直前です。下へコピーしても単価は1行目から読みます。右へコピーすると列はB、C、Dと進みます。

参照 コピー時の動き 今回の使い方
A2 列・行とも動く 縦横に展開すると数量列がずれる
$A2 A列だけ固定 数量をA列から読む
B$1 1行目だけ固定 単価を1行目から読む
$A$2 A列・2行目とも固定 今回は数量が切り替わらない

列だけ固定する$A2と行だけ固定するB$1の違いを示す図解

図2:$A2 は数量の列、B$1 は単価の行を固定する独自図解です。実際のExcel画面ではありません。

$ は、コピー時に参照先の列や行を変えないための記号です。セルの値そのものを編集できなくする機能ではありません。

手順3|右へコピーしてから、その行を下へコピーする

  1. B2を選び、右下の小さな四角形であるフィルハンドルをD2まで右へドラッグします。セルの外枠をつかんで移動しないようにします。
  2. 2行目がB2=100、C2=200、D2=300になったら、B2:D2の3セル全体を選択します。
  3. 選択範囲の右下にあるフィルハンドルを、D4の高さまで下へドラッグします。
  4. B2:D4の9セルを次の完成表と照合します。

大切なのは、右へコピーした後、B2だけではなくB2:D2全体を選んで下へ展開することです。

数量\単価 100 200 300
1 100 200 300
2 200 400 600
3 300 600 900

B2から右へ、次にB2:D2を下へコピーした9セルの完成表

図3:数量1・2・3と単価100・200・300の組み合わせを示す独自図解です。実際のExcel画面ではありません。

中間のC3は =$A3*C$1 で400、B4は =$A4*B$1 で300です。右下のD4を選び、数式バーが =$A4*D$1、結果が900かを確認します。

D4では、$ が付いたA列と1行目はそのままです。一方、固定していない行番号は2から4へ、列記号はBからDへ変わります。

数値と数式は、コピー先に応じて参照が変わるMicrosoftの仕様に沿った期待値です。公式表の転載ではなく、架空の単価と数量を使った教材です。

ドラッグが難しい場合は、B2:D2を選択して Ctrl+R で右へコピーできます。次にB2:D4を選択して Ctrl+D で下へコピーします。

ショートカットでは、コピー元のB2やB2:D2を選択範囲に含めます。隣接セルへのフィルとWindowsのキー操作はMicrosoftの説明で確認できます。

うまくいかないときは、$の位置とコピー元を見直す

まずB2の数式が =$A2*B$1 か確認します。修正したときは、B2だけを直して終わらせず、手順3の順で右へコピーし、その行を下へコピーし直します。

B2を =A2*B1 とすると、右隣のC2は =B2*C1 に変わります。数量1ではなくB2の結果100に単価200を掛けるため、C2は20000になってしまいます。

この場合、右へのコピーでは数量のA列がずれ、下へのコピーでは単価の1行目がずれます。$A2 と B$1 の両方を直してください。

反対にB2を =$A$2*$B$1 とすると、どこへコピーしてもA2とB1だけを読みます。9セルがすべて1×100の100になり、目的の表にはなりません。

誤った式を試すために、完成した正しい表を上書きする必要はありません。違いを確かめたいときは、別の新しい空白シートに同じ見出しを作ってください。

数量や単価を変えて、狙った行・列だけ更新されるか確認する

完成後は、自動計算が有効な場合に入力値を一時的に変え、混合参照が意図どおりか確認できます。次の2つは順番に試し、先の値を戻してから次へ進みます。

  1. A3の2を4に変えます。B3:D3が400、800、1200になり、他の行が変わらないか確認します。
  2. 確認後、A3を2に戻します。この操作を飛ばすと、次の確認値が変わります。
  3. C1の200を250に変えます。C2:C4が250、500、750になり、他の列が変わらないか確認します。
  4. 確認後、C1を200に戻し、元の9セルの値に戻ったか照合します。

この更新結果は参照仕様に基づく期待値であり、実際のExcel画面で実行済みという報告ではありません。更新されない場合は、まずB2と展開先の数式を見直します。

まとめ:数量の列と単価の行を別々に固定しよう

Excelの数式を縦横にコピーするときは、数量のA列を固定する $A2 と、単価の1行目を固定する B$1 を組み合わせます。

B2へ =$A2*B$1 を入れ、右へコピーした後、B2:D2全体を下へコピーしてください。D4の数式が =$A4*D$1、結果が900なら完成です。

結果が違うときはB2の $ の位置を直し、9セルを再度コピーしましょう。最後に数量と単価を1つずつ変え、狙った行と列だけが更新されるか確認してください。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です