• ベストアンサー

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

今作っている表(表B)に、以前から使っている別の表(表A)に入力したのと同じ数値を表示させたいと思っています。 そこで表Bの対応させたい列に、表Aの対応させたい列を=でつなぎました。(言葉が適当でないかもしれません。わかりにくくてすいません。) 実際の表では [表B] A1に  =[表A.xls]sheet1!$A8 A2に  =[表A.xls]sheet1!$A13 A3に  =[表A.xls]sheet1!$A18 このように入力した後、A4以降のセルにオートフィルしたところ、式の末尾が$A23 $A28 $A33となるつもりだったのに、$A11 $A16 $A21となってしまいました。 これはどうしてなんでしょうか? 試しに数字だけで8 13 18と入力した後にオートフィルすると23 28 33と続いたんですが・・・。 何か設定などで間違っている可能性があるのでしょうか? どなたか教えてください。よろしくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 A1に、「#[表A.xls]sheet1!$A8」 A2に、「#[表A.xls]sheet1!$A13」 と入力して、この2行でオートフィルで必要行までコピーします。 そうしたら、A列を選択してメニューの[編集]→[置換]で、 [検索する文字列]:「#」 [置換後の文字列]:「=」 で、[すべて置換]します。 ちなみに、No.1の方の、 >上記はINT((18-8)/3)=3で変更幅が3として >A4=表A.xls]sheet1!$A11 ←A8+3行=A11 になったのです。 は、違うと思います。 A1→A4が3つ差なので、「8、13、18」が3つずれて、 「11、16、21」になったのだと思います。 だから、さらにコピーすると、 「14、19、24」とやっぱり3つずれていきます。 回答の数式自体は、もちろん何の問題もありません。

kobutoriman085
質問者

お礼

早速の回答ありがとうございます。 置換って使ったことなかったんですが、うまくいきました。これでかなり作業がはかどります。 またよろしくお願いします。

その他の回答 (1)

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

上記はINT((18-8)/3)=3で変更幅が3として A4=表A.xls]sheet1!$A11 ←A8+3行=A11 になったのです。 A1=INDIRECT("[表A.xls]sheet1!$A"&(ROW()*5+3)) としてコピーしてみてください。

kobutoriman085
質問者

お礼

早速回答いただいてありがとうございます。 回答文をコピーして使ってみたんですが、うまくいきませんでした。 せっかく答えていただいたのに申し訳ないです。 またよろしくお願いします。

関連するQ&A