• ベストアンサー

エクセルで数式をコピーする時のセル番地

エクセルでは相対参照が働き、セル内の数式をコピーすると それに伴って数式内のセル番地が変化します。 普通は、例えばA1に=B1+C1という計算式が入っていて、 A1から下方向にコピーをすると A2→=B2+C2 A3→=B3+C3 となりますが、ここで A2→=B4+C4 A3→=B7+C7 という風に、コピーする行は1行ずつだけど 数式内のセル番地は3個飛びごとにするといった設定はできるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#52504
noname#52504
回答No.2

素朴にこんな方法も…。 1.A1:A3セルを結合して、数式:=B1+C1 を入力 2.普通にフィル 3.セルの結合を解除 4.ジャンプで空白セルを選択 5.削除して上方向にシフト #1さんのご回答は 「普通にコピー(フィル)した時に、質問と同様の結果を返す数式」 私のは、 「質問と同じ数式を、(比較的)簡単に入力する方法」 です。 質問文にある計算はあくまで“例”でしょうし、 実際にどのような運用をするかによってアプローチも変わってくると思いますので、ご参考までに。

cloud05
質問者

お礼

返事遅くなりましたが、ありがとうございます。 実際にやってみたら、思った通りの事ができました! 一つ一つの作業が簡単なので、これならエクセル初心者の方にも説明しやすいですね。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

そういう便利な仕組みは今のエクセルにはありません。ですから別方法から考えないといけません。 (1)たとえば、質問例に限って言えば B1:C100に 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 とあるとして(わざと判りやすい数にしてあります) A1に =SUM(OFFSET($B$1:$C$100,(ROW()-1)*3,0,1,2)) と入れて下方向に式を複写します。 結果は 2 8 14 20 26 32 です。これは範囲を示す関数を応用したものです。 ーーーーーー (2)もうひとつの方法は A1に =INDIRECT("b"&(ROW()-1)*3+1)+INDIRECT("c" & (ROW()-1)*3+1) を入れて下方向に式を複写します。 行部分にROW()とCOLUMN()の式で表せる式が発見できれば、この方式は使えます。 しかし個別の問題に、個別の知恵を絞らないとならないとおもいます。

cloud05
質問者

お礼

お礼が遅くなりました。ありがとうございます。 やっぱりそういう便利な機能はないんですね。

関連するQ&A