• ベストアンサー

Excelの関数を使用したセルをコピーする場合

よろしくです。 Sheet2のA1~G1にデータがあり、これをSheet1のB1~B7に縦にコピーします。 単純にコピーならばペーストでできますが、Sheet2のデータの変更をSheet1に反映できるように関数でSheet1に入力しようとしていますが関数がうまく見つかりません。 Sheet1には、Sheet2の行は固定で列を移動させて反映するような関数で考えていますが、いい関数があるでしょうか。 うまく表現できているか不安ですが、ご教授いただければと思います。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

Sheet1のB1に =OFFSET(Sheet2!$A$1,0,ROW(A1)-1) として下にコピーしてみてください。

0TmmT0
質問者

お礼

マクロではよく offset 関数を使う機会がありますがエクセルのシートの中での関数で使ったことがありませんでした。 上手くいきました。 ありがとうございます。

その他の回答 (2)

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

こういうのは、コピー操作で、貼り付けるとき、形式を選択して貼り付け、で、行と列を入れ替えるを指定したら仕舞だ。 エクセルの関数を勉強中かどうか知らないが、わざわざ、関数でやるのは、やりすぎ。 ーー ただ配列数式とするため、Shift⁺Ctrl⁺Enterキーを押すことになる。配列数式というのを、知っている? 上級の課題だ。 https://support.microsoft.com/ja-jp/office/transpose-%E9%96%A2%E6%95%B0-ed039415-ed8a-4a81-93e9-4b6dfac76027 TRANSPOSE 関数 に解説があるよ。 TRANSPOSE関数は、配列を返す関数という点で、珍しい関数です。 A2:A8を範囲指定しておいて、B2に式 =TRANSPOSE(A1:G1) を入れて、Shift⁺Ctrl⁺Enterキーを同時押しする。

0TmmT0
質問者

お礼

Transpose 関数を使うとできるのかなと、ネットで調べながら感じていましたが使い方がわからず悩んでおりました。 ご教授ありがとうございました。うまくいきました。

  • q4330
  • ベストアンサー率27% (768/2786)
回答No.1

なにがしたいのか、良くわからないが... =Sheet2!B1 こうすれば、Sheet2のA1セルの内容を使えます。 例えばSheet1のB1セルに =A1+Sheet2!A1 こうすればSheet1のA1セルとSheet2のA1セルの合計が出ます。

0TmmT0
質問者

お礼

ご教授ありがとうございました。

0TmmT0
質問者

補足

ありがとうございます。 Sheet1のB1に =sheet2!A1 と入れて縦にコピーすると B2には=sheet2!A2 B3には=Sheet2!A3 とコピーされます。 私としては =Sheet2!A1 =Sheet2!B1 =Sheet2!C1 と、列の部分だけを一つずつ移動して反映したいのですが。 手作業でやればA2をB1,A3をC1と書き換えればいいのですが、行を変えずに列を一つずつずらしてフィルコピーしたいのです。 うまく説明できていなくて済みませんでした。

関連するQ&A