• ベストアンサー

エクセルで連続してコピーするには

いつもお世話になります。 オートフィルを使って値をコピーしたいのですが, コピー先に一行飛ばしでいれたいので,オートフィルを使うと,間に入っている行もカウントされてしまします。 例えば A1に「='Sheet1'!B2」を入れて, A2は空白,A3には「='Sheet1'!B3」と連続していきたいのですが…。 エクセル97です。よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

#2のmshr1962です。 >参照元の2行目(参照先は7行目) A7にSheet1:B2を表示ですか? ROW()はその式のある行数を返します。 2行目=(7行目-3)/2ですから 「=INDIRECT("Sheet1!B"&(ROW()-3)/2)」 で設定できます。

chikorin7
質問者

お礼

ありがとうございます。 理解できました。 これで他にも応用できそうです。 わかりやすい説明ありがとうございました。

その他の回答 (4)

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

>参照元の2行目(参照先は7行目)から参照したいのですが、 B列からA列へ移す。 B2 1 B3 スペース B4 2 B5 スペース B6 3 B7 スペース ・・・を A7<--B2 A8<--B4 A9<--B6 A10<--B8 A11<--B10 ・・・ にしたいと言うことでしょうか。 A7に=INDIRECT("B"&((ROW(A7)-6))*2)といれて 下方向に複写すると良い。

chikorin7
質問者

補足

説明が悪くてすみません。 全く逆です。 B2 B3 B4 …を A7<--B2 A9<--B3 A11<--B4 にするということです。

  • hakone
  • ベストアンサー率54% (40/73)
回答No.3

No.1の補足です。 提示した式は一例ですので、単なるリンクでない場合は、 式を作り変える必要があります。 どういう式が必要かを示していただければ、回答できる かもしれません。

chikorin7
質問者

お礼

単なるリンクなので大丈夫だと思います。 何度もありがとうございます。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

A1に「=INDIRECT("Sheet1!B"&(ROW()+1)/2+1)」 として A1とA2を選択して下方向にフィルハンドルでコピーしてください。

chikorin7
質問者

補足

ありがとうございます。 これでやると、参照元の2行目(参照先は7行目)から参照したいのですが、参照元の5行目からの値がはいってしまいます。 たぶん(ROW()+1)/2+1の部分をどうにかするんでしょうが、この部分の意味がよくわかっていないのでどうしたらよいのかわかりません。 エクセル初心者なのでよろしくお願いします。

  • hakone
  • ベストアンサー率54% (40/73)
回答No.1

こんにちは。 まず、Sheet2のA1に #'Sheet1'!B2 と書きます。(=の代わりに別の文字を書く) で、A1:A2を選択して、下のほうにオートフィルします。 そのご、A列を選択して、[編集][置換]で #を=に置換します。 この方法は、式が複雑だとうまく行かない場合があります ので、その場合は式で設定する方法もあります。 A1に =IF(MOD(ROW(),2),INDEX(Sheet1!A:A,(ROW()+3)/2),"") と書いて、下のほうにコピーします。

chikorin7
質問者

お礼

早速のご回答ありがとうございます。 置換でやる方法よりも式をいれる方で検討します。

関連するQ&A