• ベストアンサー

エクセルのオートフィルについて

エクセルのオートフィルについて 例えば、=SUM(A1:A2) という計算式を作ってオートフィルしますと、 次のセルには、=SUM(A2:A3) となってしまいます。 それを、 =SUM(A3:A4) =SUM(A5:A6) となるように、オートフィルすることは出来ますでしょうか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

関数を組み合わせればオートフィルできる数式はありますが、現在の数式をオートフィルコピーしてご希望の数式を入力するなら以下のような方法が簡単です。 たとえば、「=SUM(A1:A2)」と入力したセルとその下の空白セルを選択して下方向にオートフィルします。 そのまま、Ctrl+Gでジャンプダイアログを出して「セル選択」「空白セル」でOKし、空白セルが選択された状態で右クリック「削除」で「上方向」を選択します。 数式入力セルの下にデータがあって2倍の行がオートフィルできない場合は、補助列に数式を入力し編集後セルの移動操作を行ってください。 ちなみにセルの移動方法は、移動したいセル範囲の周囲にカーソルを置いて移動先にドラッグします。

CBR400RR
質問者

お礼

ご回答ありがとうございます。 一筋縄でいかないのもよく分かりましたが、 それなりに方法もあるのだということも分かりました。 皆様のやり方を色々と試してみたところ MackyNo1 様の方法が私にはやり易かったので、 ありがたくご利用させていただきます。 なんとか理想の形に出来ました。 ありがとうございました。

その他の回答 (5)

noname#204879
noname#204879
回答No.6

=SUM(OFFSET(A$1,(ROW(A1)-1)*2,,2))

CBR400RR
質問者

お礼

ご回答ありがとうございます。 一筋縄でいかないのもよく分かりましたが、 それなりに方法もあるのだということも分かりました。 皆様のやり方を色々と試してみたところ MackyNo1 様の方法が私にはやり易かったので、 ありがたくご利用させていただきます。 なんとか理想の形に出来ました。 ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

例えばB1セルに次の式を入力して下方にオートフィルドラッグします。 =SUM(INDEX(A:A,ROW(A1)*2-1):INDEX(A:A,ROW(A1)*2))

CBR400RR
質問者

お礼

ご回答ありがとうございます。 一筋縄でいかないのもよく分かりましたが、 それなりに方法もあるのだということも分かりました。 皆様のやり方を色々と試してみたところ MackyNo1 様の方法が私にはやり易かったので、 ありがたくご利用させていただきます。 なんとか理想の形に出来ました。 ありがとうございました。

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

単純なる式の複写では無理です。ルール破りのことをさせようとしているのだから。 逆手にとって自分の思うように変化してくれる式を組み立てないと。 しかしEXCEL関数の中級以上の経験を積んで居ないと出来ないだろう。 行だけに注目すると ルールは 1行目 1:2      2行目 3:4      3行目 5:6 ・・・ となる式をかんげ考えれば良い。これは中学校の数学の数列の問題(類推そのものは小学校で出てくるでしょう) 式を入れるいまの行は、ROW()で捉えられる。こんなの知ってますか。 1->1 2->3 3->5 ・・ は(ROW()-1)*2+1 で表される。 2は公差が2から来る。 (http://ja.wikipedia.org/wiki/%E7%AD%89%E5%B7%AE%E6%95%B0%E5%88%97 おおgぇで「等差級数 公差」で照会。) だから(ROW()-1)*2+1の行から(ROW()-1)*2+1+1=ROW() までを加える式を作る。 (1)EXCELでは範囲を示す関数はOFFSETしかない。 =SUM(OFFSET($A$1,(ROW()-1)*2,0,2,1)) (ROW()-1)*2と1が消えたのは、OFFSETでは隔たりを指定するのでこうなる。 ーーーー 別方式で (2)セル番地を書くような方法では =SUM(INDIRECT("A"&((ROW()-1)*2+1) & ":A" & ROW()*2)) と書いて下方向に式を複写、でもできる。

CBR400RR
質問者

お礼

ご回答ありがとうございます。 一筋縄でいかないのもよく分かりましたが、 それなりに方法もあるのだということも分かりました。 皆様のやり方を色々と試してみたところ MackyNo1 様の方法が私にはやり易かったので、 ありがたくご利用させていただきます。 なんとか理想の形に出来ました。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

参考までに No1ではオートフィル操作を利用したとびとびのセル参照の方法を提示しましたが、提示された数式を通常のオートフィル操作だけで計算できるようにするなら、たとえば以下の式を入力して下方向にオートフィルすることになります。 =SUM(OFFSET($A$1,(ROW(A1)-1)*2,0,2,1)) しかし、このような数式は、実際に使用している関数によって適宜変更する必要があるので(この式の修正がかなり煩雑になることもある)、今回のような質問では「たとえば」ではなく、実際に使用されている関数や数式を提示されたほうが的確な回答が得られると思います。

CBR400RR
質問者

お礼

ご回答ありがとうございます。 一筋縄でいかないのもよく分かりましたが、 それなりに方法もあるのだということも分かりました。 皆様のやり方を色々と試してみたところ MackyNo1 様の方法が私にはやり易かったので、 ありがたくご利用させていただきます。 なんとか理想の形に出来ました。 ありがとうございました。

noname#126151
noname#126151
回答No.2

たぶんVBAでは どうしてもしたいならそれしかないと思います ただ知識がないと最初は難しいので VBAの書籍をご覧になられたほうがいいと思います 単純にオートフィルではむりです

CBR400RR
質問者

お礼

オートフィルでは無理ですか・・・。 オートフィルでなくても他の方法でも良いのですが、VBAしかありませんか? VBAはさすがに敷居が高くて私では無理そうです。

関連するQ&A