- ベストアンサー
エクセルで連続してコピーするには
いつもお世話になります。 オートフィルを使って値をコピーしたいのですが, コピー先に一行飛ばしでいれたいので,オートフィルを使うと,間に入っている行もカウントされてしまします。 例えば A1に「='Sheet1'!B2」を入れて, A2は空白,A3には「='Sheet1'!B3」と連続していきたいのですが…。 エクセル97です。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2のmshr1962です。 >参照元の2行目(参照先は7行目) A7にSheet1:B2を表示ですか? ROW()はその式のある行数を返します。 2行目=(7行目-3)/2ですから 「=INDIRECT("Sheet1!B"&(ROW()-3)/2)」 で設定できます。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
>参照元の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)といれて 下方向に複写すると良い。
補足
説明が悪くてすみません。 全く逆です。 B2 B3 B4 …を A7<--B2 A9<--B3 A11<--B4 にするということです。
- hakone
- ベストアンサー率54% (40/73)
No.1の補足です。 提示した式は一例ですので、単なるリンクでない場合は、 式を作り変える必要があります。 どういう式が必要かを示していただければ、回答できる かもしれません。
お礼
単なるリンクなので大丈夫だと思います。 何度もありがとうございます。
- mshr1962
- ベストアンサー率39% (7417/18945)
A1に「=INDIRECT("Sheet1!B"&(ROW()+1)/2+1)」 として A1とA2を選択して下方向にフィルハンドルでコピーしてください。
補足
ありがとうございます。 これでやると、参照元の2行目(参照先は7行目)から参照したいのですが、参照元の5行目からの値がはいってしまいます。 たぶん(ROW()+1)/2+1の部分をどうにかするんでしょうが、この部分の意味がよくわかっていないのでどうしたらよいのかわかりません。 エクセル初心者なのでよろしくお願いします。
- hakone
- ベストアンサー率54% (40/73)
こんにちは。 まず、Sheet2のA1に #'Sheet1'!B2 と書きます。(=の代わりに別の文字を書く) で、A1:A2を選択して、下のほうにオートフィルします。 そのご、A列を選択して、[編集][置換]で #を=に置換します。 この方法は、式が複雑だとうまく行かない場合があります ので、その場合は式で設定する方法もあります。 A1に =IF(MOD(ROW(),2),INDEX(Sheet1!A:A,(ROW()+3)/2),"") と書いて、下のほうにコピーします。
お礼
早速のご回答ありがとうございます。 置換でやる方法よりも式をいれる方で検討します。
お礼
ありがとうございます。 理解できました。 これで他にも応用できそうです。 わかりやすい説明ありがとうございました。