• ベストアンサー

エクセル 他のシートにデータをコピーする方法

エクセルの操作方法について質問です。 Sheet1で作成したデータ(マクロで編集しています)を、Sheet2へデータをコピーさせたいのですが、手早くできる方法はないでしょうか? マクロで並び替えたデータを別表にしたい(Sheet1の一部のデータ)のですが、量が膨大なためコピー&ペーストの繰り返しでは時間がかかって仕方ありません。 同じシートだと、=(イコール)で簡単にできますが、シートが異なる場合でも、同様な方法はありますか?

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

  • ベストアンサー
  • tossy005
  • ベストアンサー率38% (7/18)
回答No.4

例えばSheet1のセルA1にあるデータを、Sheet2のセルD4に表示したい場合、 Sheet2のセルD4に以下のように記述してください。 =Sheet1!A1

goto-shin_1976
質問者

お礼

アドバイスありがとうございます。この方法を知りたかったので助かりました。シート名と!で表示するシートを選択できるのですね。ありがとうございました。

その他の回答 (3)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

ためしに Sheet2の任意のセルにイコール(=)を入力し、そのまま Sheet1を選択して、Sheet1の任意のセルを選択してみてください Sheet2で入力したセルはどんな感じになりましたか? Sheet1で選んだセルに何か入力したとき、Sheet2で入力したセルはどのような表示がされますか? まずは試してみてください 並び替えた結果をそのまま反映させたいのであれば、 INDIRECT関数やOFFSET関数などを組み合わせると良いかもしれません  =A1 では A1セルを B1セルに移動させると勝手に B1セルを参照するようになりますが(=B1となる)  =INDIRECT("A1") この数式は必ず A1セルを参照します INDIRECT関数は与えられた文字列を範囲として返す関数ですので、この数式に与えられた "A1" は その関数式を直接編集しない限りは自動的に変わることはありません 同様に OFFSET関数は基準にしたセルから何処から何処までを範囲にするかを決定する関数です OFFSET関数に INDIRECT関数で範囲を指定すれば、決してずれる事の無い範囲を指定することができます  =OFFSET(INDIRECT("A1"),1,1,1,1)  ← B2セルを参照します など 本末転倒なアドバイス 量が膨大ならばコピー&ペーストの一連の操作をマクロ化するのも方法の一つですね

goto-shin_1976
質問者

お礼

アドバイスありがとうございます。マクロに関しては初心者なので、まだまだ勉強しないといけません。

回答No.2

並び替えをされているという事なので 関数のvlookupを使用されてみてはどうでしょう?

goto-shin_1976
質問者

お礼

アドバイスありがとうございます。今回は、出来るだけ単純な作業で済ませたいので、またの機会に利用してみたいと思います。

回答No.1

  状況が理解できませんが..... Sheet1のA・B・C....と1・2・3.....(行と列の)交点をクリック Ctrl+c Sheet2に移動してA1をクリック Ctrl+v 全部で4回ほどの操作でSheet1の内容を全てSheet2にコピーできます  

goto-shin_1976
質問者

補足

さっそくの回答ありがとうございます。 説明不足でしたが、Sheet1とSheet2ではデータの位置が異なります。 Sheet1のA1のデータをSheet2のA1に貼り付ける訳ではないので、上記の方法は無理でした。 Sheet2で貼り付けたいセルは表を作成してセルを結合(列と幅)しているので、一つ一つしか出来ません。 Sheet1の××のセルのデータを出してください…のような数式を作成することは不可能でしょうか?

関連するQ&A

専門家に質問してみよう