エクセルで数式をコピーする方法

ページ名:エクセルで数式をコピーする方法

エクセルでは、数式を行や列全体にコピーするのは簡単ですが、必ずしも思い通りの結果が得られるとは限りません。予期せぬ結果が出たり、#REFや/DIV0のエラーが出たりすると、非常にイライラするものだ。でもご心配なく。5,000行のスプレッドシートをセルごとに編集する必要はありません。このWikiHowでは、数式を他のセルにコピーする簡単な方法をご紹介します。

方法1

検索と置換を使う

  1. Excelでワークブックを開きます。数式でいっぱいの大きなスプレッドシートがあり、それらを正確にコピーしたいことがあります。すべてを絶対セル参照に変更するのは面倒だし、特に後でまた元に戻したい場合はなおさらだ。この方法を使えば、相対セル参照を持つ数式を、参照を変更せずに別の場所にすばやく移動できます。 この例のスプレッドシートでは、数式を何も変更せずにC列からD列にコピーしたいとします。


    スプレッドシートの例
    A列 B列 C列 D列
    1行目

    944

    カエル

    =A1/2

    2列目

    636

    ヒキガエル

    =A2/2

    3列目

    712

    イモリ

    =A3/2

    4列目

    690

    ヘビ

    =A4/2

    • 1つのセル内の数式をコピーするだけなら、このセクションの最後のステップ(「別の方法を試す」)までスキップしてください。
  2. Ctrl+Hを押して検索ウィンドウを開きます。ショートカットはWindowsでもmacOSでも同じです。
  3. "="を検索して別の文字に置き換える。Find what "フィールドに"="を入力し、"Replace with "ボックスに別の文字を入力する。すべて置換」をクリックすると、すべての数式(常に等号で始まる)が、他の文字で始まるテキスト文字列に変わります。常に、スプレッドシートで使用していない文字を使用してください。たとえば、#や&、あるいは##&のような長い文字列に置き換える。


    スプレッドシートの例
    A列 B列 C列 D列
    1行目

    944

    カエル

    ##&A1/2

    2列目

    636

    ヒキガエル

    ##&A2/2

    3列目

    712

    イモリ

    ##&A3/2

    4列目

    690

    ヘビ

    ##&A4/2

    • や「?」は使わないでください。後の手順を難しくします。
  4. セルをコピーして貼り付ける。コピーしたいセルをハイライトし、Ctrl + C(PC)またはCmd + C(Mac)を押してコピーする。次に、貼り付けたいセルを選択し、Ctrl + V(PC)またはCmd + V(Mac)を押して貼り付ける。数式として解釈されなくなるので、正確にコピーされる。


    スプレッドシートの例
    A列 B列 C列 D列
    1行目

    944

    カエル

    ##&A1/2

    ##&A1/2

    2列目

    636

    ヒキガエル

    ##&A2/2

    ##&A2/2

    3列目

    712

    イモリ

    ##&A3/2

    ##&A3/2

    4列目

    690

    ヘビ

    ##&A4/2

    ##&A4/2

  5. もう一度「検索と置換」を使って、変更を元に戻す。これで数式が必要な場所に揃ったので、もう一度「すべて置換」を使って変更を元に戻します。この例では、文字列 "##&"を探し、再び"="に置き換えるので、それらのセルは再び数式になる。これで、いつものようにスプレッドシートの編集を続けることができる:


    スプレッドシートの例
    A列 B列 C列 D列
    1行目

    944

    カエル

    =A1/2

    =A1/2

    2列目

    636

    ヒキガエル

    =A2/2

    =A2/2

    3列目

    712

    イモリ

    =A3/2

    =A3/2

    4列目

    690

    ヘビ

    =A4/2

    =A4/2

  6. 別の方法を試してください。上で説明した方法が何らかの理由でうまくいかない場合、あるいは「すべて置換」オプションで誤って他のセルの内容を変えてしまうのが心配な場合、他にも試せる方法がいくつかあります:
    • 参照を変更せずに1つのセルの数式をコピーするには、セルを選択し、ウィンドウ上部の数式バーに表示されている数式をコピーします(セルそのものではありません)。Escキーを押して数式バーを閉じ、必要な場所に数式を貼り付けます。
    • Ctrlと`(通常は~と同じキー)を押して、スプレッドシートを数式表示モードにする。数式をコピーして、メモ帳やテキストエディットなどのテキストエディタに貼り付ける。もう一度コピーして、スプレッドシートの好きな場所に貼り付ける。そして、もう一度 Ctrl と ` を押して、通常の表示モードに切り替える。
方法2

列または行を埋める

  1. 空白のセルに数式を入力する。Excelでは、セルを「塗りつぶす」ことで、数式を列や行に簡単に伝搬させることができます。他の数式と同様に、「=」記号から始めて、好きな関数や演算を使用します。ここでは簡単なスプレッドシートの例を使って、A列とB列を足し算する。EnterまたはReturnキーを押して、数式を計算する。


    スプレッドシートの例
    A列 B列 C列
    1行目

    10

    9

    19

    2列目

    20

    8

    3列目

    30

    7

    4列目

    40

    6

  2. コピーしたい数式のあるセルの右下をクリックする。カーソルが太字の+記号になる。
  3. コピー先の列または行をクリックしてカーソルをドラッグします。 入力した数式が、ハイライトしたセルに自動的に入力されます。相対セル参照は、まったく同じままではなく、同じ相対位置のセルを参照するように自動的に更新されます。以下は、使用された数式と表示された結果を示す、スプレッドシートの例です:


    スプレッドシートの例
    A列 B列 C列
    1行目

    10

    9

    =A1+B1

    2行目

    20

    8

    =A2+B2

    3行目

    30

    7

    =A3+B3

    4列目

    40

    6

    =A4+B4


    表計算の例
    A列 B列 C列
    1行目

    10

    9

    19

    2列目

    20

    8

    28

    3列目

    30

    7

    37

    4列目

    40

    6

    46

    • ドラッグする代わりに、プラス記号をダブルクリックして列全体を塗りつぶすこともできます。Excelは空のセルを見つけると列の塗りつぶしを中止します。参照データにギャップがある場合は、ギャップより下の列を塗りつぶすためにこの手順を繰り返す必要があります。
    • 同じ数式で列全体を塗りつぶすもう1つの方法は、数式を含むセルの真下のセルを選択し、Ctrl + Dを押すことです。
方法3

複数のセルに数式をペーストする

  1. 数式を1つのセルに入力します。他の数式と同様、=記号で始め、好きな関数や算術演算を使用する。ここでは簡単なスプレッドシートの例を使って、A列とB列を足し算する。EnterまたはReturnを押すと、数式が計算されます。


    スプレッドシートの例
    A列 B列 C列
    1行目

    10

    9

    19

    2列目

    20

    8

    3列目

    30

    7

    4列目

    40

    6

  2. セルを選択し、Ctrl+C (PC) または ⌘ Command+C (Mac) を押します。これで数式がクリップボードにコピーされます。
  3. 数式をコピーしたいセルを選択します。セルをクリックし、マウスまたは矢印キーを使って上下にドラッグします。列や行を塗りつぶす方法とは異なり、数式をコピーするセルは、コピー元のセルに隣接している必要はありません。Controlキーを押しながら選択すると、隣接していないセルや範囲をコピーできます。
  4. Ctrl+V (PC) または ⌘ Command+V (Mac) を押して貼り付けます。選択したセルに数式が表示されます。
方法4

相対セル参照と絶対セル参照を使用する

  1. 数式で相対セル参照を使用します。 Excelの数式では、「セル参照」はセルのアドレスです。これを手入力するか、数式入力中に使用したいセルをクリックします。たとえば、次のスプレッドシートにはセルA2を参照する数式があります:


    相対参照
    A列 B列 C列
    2行目

    50

    7

    =A2*2

    3行目

    100

    4行目

    200

    5行目

    400

  2. 相対参照と呼ばれる理由を理解しよう。Excelの数式では、相対参照はセルアドレスの相対位置を使用します。この例では、C2に"=A2 "という数式があり、これは2つ左のセルの値を参照する相対参照です。この数式をC4にコピーすると、2つ左のセルを参照することになり、"=A4 "と表示されます。


    相対参照
    A列 B列 C列
    2行目

    50

    7

    =A2*2

    3行目

    100

    4行目

    200

    =A4*2

    5行目

    400

    • これは、同じ行や列以外のセルでも同じように機能する。同じ数式をセルC1からセルD6(図示せず)にコピーした場合、Excelは参照「A2」を1列右(C→D)で5行下(2→7)のセル、つまり「B7」に変更してしまう。
  3. 代わりに絶対参照を使います。エクセルに数式を自動的に変更させたくないとします。相対セル参照の代わりに、数式をコピーしても変わらないようにしたい列または行の前に$記号を追加して、絶対参照にすることができます。 以下にいくつかのスプレッドシートの例を示します。元の数式は大きく太字で表示され、他のセルにコピーペーストした結果は以下のようになります:
    • 相対列、絶対行 (B$3):この数式は3行目を絶対参照するので、常に3行目を参照する:

      A列 B列 C列
      1行目

      50

      7

      =B$3

      2行目

      100

      =A$3

      =B$3

      3行目

      200

      =A$3

      =B$3

      4行目

      400

      =A$3

      =B$3


    • 絶対列、相対行 ($B1):この数式は B 列への絶対参照を持っているので、常に B 列を参照する。

      列 A B列 C列
      行1

      50

      7

      =$B1

      2行目

      100

      =$B2

      =$B2

      3行目

      200

      =$B3

      =$B3

      4行目

      400

      =$B4

      =$B4


    • 絶対列と絶対行 ($B$1):この式は 1 行目の B 列を絶対参照するので、常に 1 行目の B 列を参照する。

      列 A B列 C列
      1行目

      50

      7

      =$B$1

      2行目

      100

      =$B$1

      =$B$1

      3行目

      200

      =$B$1

      =$B$1

      4行目

      400

      =$B$1

      =$B$1


  4. 絶対と相対を切り替えるには、F4キーを使う。数式内のセル参照をクリックして強調表示し、F4 キーを押すと、$ 記号が自動的に追加または削除されます。絶対参照または相対参照が選択されるまで F4 キーを押し続け、Enter または Return キーを押します。


この記事は、CC BY-NC-SAの下で公開されている「 How to Copy Formulas in Excel 」を改変して作成しました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧