• ベストアンサー

EXCELの質問です。どなたか教えてください。

EXCELの質問です。どなたか教えてください。 Sheet1のA1,B1,C1にSheet2のA1,C1,E1と、一つ飛ばしの 値を反映させるにはどうしたらいいですか? Sheet1のセルA1,B1に A1=Sheet2A1,B1=Sheet2C1とし、2つのセルを選択してドラッグしても A1=Sheet2A1,B1=Sheet2C1,C1=Sheet2C1,D1=Sheet2E1,E1=Sheet2E1,F1=Sheet2G1・・・ と反映されてしまいます。 できれば小難しい計算式は使いたくないのですが、なにかいい方法や簡単な 式があったら教えてください。 宜しくお願い致します。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

小難しい計算式を使った方が楽ではあるんですが、こんな方法もあると言う例を……。 [ツール]-[オプション]-[全般] で、「R1C1系式参照を使用する」にチェック。 Sheet1のA1に %=Sheet2!RC[0] と、入力して右方向にドラッグ。 これで、B1には%=Sheet2!RC[1]、C1には%=Sheet2!RC[2] と、入ります。 次に1行目を選択して[編集]-[置換]で、%を空白に置換(%を消す)。 これで、1列置きのリンクになりました。あとは「R1C1系式参照を使用する」のチェックを外します。 小難しい計算式でもよいなら、Sheet1のA1に↓の式を入れて右方向にコピーして見てください。 =OFFSET(Sheet2!$A1,0,2*(COLUMN()-1))

meet-y
質問者

お礼

ありがとうございます。 式のほうがよさそうだったのでやってみて確かに出来たのですが、もっと複雑な表などのとき それこそ反映もとの表がC6くらいから始まってるようなときってどうしたらいいんでしょうか。 つまりSheet1のC6にSheet2のE8をもって来て、D6にG9、E6にI9・・・と持ってくるときなどです。 式の意味を考えてみたのですが、行や列の指定のときの、"左上の 隅までの行(列)数"という意味が解りません。

その他の回答 (4)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

ANo.2です。 > それこそ反映もとの表がC6くらいから始まってるようなときってどうしたらいいんでしょうか。 > > つまりSheet1のC6にSheet2のE8をもって来て、D6にG9、E6にI9・・・と持ってくるときなどです C6にリンクするのは、Sheet2の「E9」ですよね?それでしたら↓こうなります。 =OFFSET(Sheet2!$E9,0,2*(COLUMN()-3)) Sheet2!$E9 は、基準セルです。ドラッグしても基準セルがずれないようにSheet2!$E9と、列絶対参照にします。 次の引数 0 は、基準セルから何行シフトするかです。今回、行はシフトしませんので0です。 3番目の引数 2*(COLUMN()-3) が、基準セルから何列シフトするかです。今回、C列の時はこの値を0にしたいのでColumn()から-3しています。 もし、A列から始めるなら-1、D列から始めるなら-4 にします。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 外していたらごめんなさい。 Sheet1のA1セルに =INDEX(Sheet2!1:1,,COLUMN(A1)*2-1) (エラー処理はしていません。) としてオートフィルで列方向にコピーではどうでしょうか? 以上、参考になれば良いのですが 的外れなら読み流してくださいね。m(__)m

  • luka3
  • ベストアンサー率72% (438/602)
回答No.3

少々強引かもしれませんが以下の方法でできます。 セルA1に =INDIRECT(ADDRESS(1,COLUMN()*2-1,,,"Sheet2")) と入力して横にフィルすれば、値の反映はされます。 あくまで =Sheet2!A1 にこだわるのであれば、 いったん別のシートのA1に ="=" & ADDRESS(1,COLUMN()*2-1,4,,"Sheet2") と入力&フィルすると希望の数式が表示されます。 これをコピーして、Sheet1のA1を右クリックして「形式を選択して貼り付け」から「値」を選びます。 すると数式が入りますので、これをダブルクリックまたはF2で編集状態にしてそのままEnterを押せば 希望通りになるかと思います。 このEnterの作業(値を数式として認識させる)を一発で行う方法はわかりません。

meet-y
質問者

補足

ありがとうございます。 簡単なことなのに複雑怪奇になってしまうんですね。

  • 9der-qder
  • ベストアンサー率36% (380/1038)
回答No.1

Sheet2に一行挿入して、そこにナンバーを付してよければ Sheet1に =HLOOKUP(COLUMN()*2-1,Sheet2!1:2,2) と入力すれば出来ます。

meet-y
質問者

お礼

ありがとうございます。 Sheet2はいじらないで処理しないといけないんです。 説明足らずすみません。ちなみにSheet1も行を挿入など はできません。

関連するQ&A

専門家に質問してみよう