- ベストアンサー
excelにて数式の列のズレ方を任意でセルコピーするには?
Excelにて、A1からA10までの10個のセルに入力されている 全ての関数式を1列ズラした形でコピーしたいのですが、 (例えば =AA1*AA2 → =AB1*AB2 みたいな) コピーする位置は2つズレていてC列にコピーしたいのですが、 そこにコピーをすると =AA1*AA2 → AC1*AC2 となってしまいます。 これをコピーして、 例えのように1つだけしかズレないようにするには どうすればよいのでしょうか? もちろんコピーするときは、A1:A10までをドラッグして 一度にコピーしたい事が前提です。 良い方法があればお教え下さい。お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
A1に =AA1*AA2 という式が入力され、これをC列にコピーしたら =AB1*AB2 さらにE列にコピーしたら =AC1*AC2 にしたいのですか A1の式は =OFFSET($A$1,0,26+(COLUMN()-1)/2)*OFFSET($A$2,0,26+(COLUMN()-1)/2) にすればよいです OFFSET関数は基準セルから何行、何列離れたセルを参照する関数です。OFFSET(基準セルアドレス,行数のズレ,列数のズレ)で指定します。 OFFSET($A$1,0,26+(COLUMN()-1)/2) だと、A列に入力するとCOLUMN()=1、C列に入力するとCOLUMN()=3になりますから、それぞれAA1とAB1を参照することになります。 詳しくは関数のヘルプもみてください
その他の回答 (1)
- hurry5me
- ベストアンサー率30% (74/242)
絶対ずれさせたくないところには$をつけます。 A1→$A$1とか$A1のように。 それとctrl+Hで”置き換え”をうまく使えばいかがでしょう。
お礼
置き換えかぁ!なるほどです。 結構使えるテクニックですね!参考になりました。 また何かありましたら宜しくお願い致します。
お礼
自分でやってみて分かりました! 入力するセルたとえば5列目だとすると26+5-1=30 これを2で割ると15 次の列7列目だと26+7-1=32 これを2で割ると16 と1列ずつズレる答えが出るんですね! 不思議ですねぇ;; でも分かりました。 どうもありがとうございました。
補足
なるほどぉ~!とりあえず、出来ました。 ところで、式の中にある「26+(COLUMN()-1)/2」 の解説をして頂けるとありがたいのですが... 26はA~Zまで26列だから次のAA1を出す為の数字ですよね; その後ろのCOLUMN()もヘルプで見て理解したのですが、 それをつなぎ合わせて2で割って足して...ってところが いまいち分からないのですが、 もし宜しければご説明願いえませんでしょうか?