• ベストアンサー

エクセルで2枚のシート参照で行列を入れ替える方法

Sheet1のB6~B505の参照を Sheet2のC3,D3,E3・・・・と行う必要があります。 (Sheet1のB6がSheet2のC3,Sheet1のB7がSheet2のD3という風にです) 同様にSheet1のC6~C505の参照を Sheet2のC4,D4,E4・・・・と以降相当な回数行います。 効率的にCOPY可能な関数を教えて頂けますでしょうか、よろしくお願いします。

  • R48
  • お礼率100% (22/22)

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

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.2

R48さん こんばんわ 私はOFFSET関数とROW、COLUMN関数を使うとよいかと存じます。具体的にはSheet2のC3セルに =OFFSET(Sheet1!$B$6,COLUMN(C3)-3,ROW(C3)-3,1,1) と入力します。すると下方向へのドラッグ(もしくはオートフィル)へも 右方向へのドラッグへも対応します。コピー&ペーストにも対応しています。

R48
質問者

お礼

回答ありがとうございました。 うまくいきましたが制限に引っかかりましたので、シートを増やすことで対応します。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

形式を選択して貼り付けで行列を入れ替える方法が簡単ですが、ご提示の内容では行数(行数500)>列数(MAX256)なので不可能ですので、再検討して下さい。

R48
質問者

お礼

大変参考になりました、ありがとうございました。

回答No.1

transpose関数のヘルプを見てみてはいかがでしょうか? ただし、列はAからIVまでの256しかありませんので、500個のデータを貼り付けるのは無理かと思います。

R48
質問者

お礼

transposeも確認しました、ありがとうございます。 また横の制限も初めて知りました。

関連するQ&A

  • 別のシートにデータを出す方法

    シート1に 番号 A1に1 A2に2 A3に3 A4に4 データ↓ B1に43 B2に45 B3に47 B4に55 C1に733 C2に890 C3に826 C4に94 D1に57 D2に67 D3に41 D4に52 E1に301 E2に104 E3に719 E4に441 という表があるとします。 番号1の場合は、B1の43、C1の733、D1に57、E1に301というデータです。 シート2の、 A3に、1という数字(シート1のA1の、1という番号)をいれれば、 シート2の B3に、シート1の、B1の43というデータ。 C3に、シート1の、C1の733というデータ。 D3に、シート1の、D1の57というデータ。 E3に、シート1の、E1の301というデータ。 がでるようにしたいのですが、 VLOOKUPを使ってできますか? どのような関数の立て方したらいいでしょう? XPのExcel2003です。 よろしくお願いしますm(_ _)m

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

  • Excelの参照

    仕事でポスターをつくるので困っています。 「sheet1」に入っている 「C3,D3,E3,F3」のデータを 「sheet2」の 「A1,A2,A3,A4」へ、 「sheet1」の 「C4,D4,E4,F4」を 「sheet2」の 「A5,A6,A7,A8」へ…という風に入れたいのです。 最初の、 ~「sheer1」のC3,D3,E3,F3を「sheet2」の「A1,A2,A3,A4」へ、~ というのは、 「sheet1」のC3~F3までを選択して [形式を選んで貼り付け]→[行列を入れ替える]で 「SHEET2」の「A1,A2,A3,A4」へ貼り付けることが出来るのですが、その次の 「sheet1」の「C4,D4,E4,F4」を「sheet2」の「A5,A6,A7,A8」が出来ません。 それ以降もデータは20位あります。 分かる方がいらっしゃったら教えて頂きたいです。 補足 ※「sheet1」の「C3,D3,E3,F3」には、それぞれ、分野、テーマ、学校名、講師名が入っています。 ※セル「A1,A2,A3,A4」で一枚のA3サイズのポスターになるよに、「sheet2」はページ設定されています。 宜しくお願い致します。

  • 【エクセル関数】参照するセル

    エクセル関数で教えていただきたいです。 セル参照で、参照するセルを、ある法則道理に参照していきたいのです。 例えば、シートA,シートB、とあったときに、 シートBのC3に → シートAのC3を参照、 シートBのC6に → シートAのC4を参照、 シートBのC9に → シートAのC5を参照、 シートBのC12に → シートAのC6を参照・・・・ ・・・・・・・・・・・ という風に、参照元の列は1行づつ増やしていきたいのですが、 それをシートBでは、3行ごとに表示したいのです。 自分でいろいろ試してみましたが、うまくできません。 こういったことは、関数でできるのでしょうか? もし、あれば、教えていただけると助かります。 よろしくお願いします。

  • エクセルで斜めに参照コピー

    1| A1 | B1 | C1 | D1 | E1・・・ 2| A2 | B2 | C2 | D2 | E2・・・ 3| A3 | B3 | C3 | D3 | E3・・・ 4| A4 | B4 | C4 | D4 | E4・・・ ・・・ と普通に並んでいるデータを 1| A1 | B2 | C3 | D4 | E5 |・・・ 2| = | A2 | B3 | C4 | D5 | E6 |・・・ 3| = | = | A3 | B4 | C5 | D6 | E7 |・・・ ・・・ (=は空白セル) とななめに参照コピーさせたいのですが、普通にドラッグコピーさせたのではうまくいきません。データ数が結構多いもので一つ一つコピーするのも大変です。何か簡便な方法はあるでしょうか?列毎もしくは行毎の作業でもいいので、何か良い方法がありましたらご教示いただけませんでしょうか?

  • エクセルシートの行列入れ替え参照

    エクセルのシートで、行と列を入れ替えて参照する ことができるでしょうか? 例えば、参照元のSheet1が以下の様になっていると します。 参照元<Sheet1> A   B    C 1  佐藤   遠藤   鈴木 2  数学   国語  社会 3  100    80   70 これを、Sheet2で以下の様に参照したいと思って います 参照先<Sheet2> A    B    1 =Sheet1!A1 =Sheet1!A3 2 =Sheet1!B1 =Sheet1!B3 3 =Sheet1!C1 =Sheet1!C3 1行目に数式を入れて、2行目以下にドラッグして コピーしようとすると、 =Sheet1!A1 =Sheet1!A2 =Sheet1!A3 の様になってしまうので、どうしたものかと途方 にくれております・・・。 以上、解決策を教えて頂けますと大変助かります。 よろしくお願い致します。

  • VBA 他シートを参照しているセルのコピー

    お世話になります。 以下のシートがあります。 [sheet a]    A     B        C      D     E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E  F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

  • エクセル関数でちょっと悩んでます。

    エクセル関数でちょっと悩んでます。 sheet1にセルB4、C4、D4、B5、C5、D5(グループ1)とI4、J4、K4、I5、J5、K5(グループ2)にデータが入っているとします。 sheet2のB3、C3、D3、E3、F3、G3にグループ1のデータを記入します。 B4、C4、D4、E4、F4、G4にはグループ2を入れたいのですが、sheet1からみて列7つ移動したものとして記入したいです。どうやればいいですか? 例えば、sheet2のB3には、=Sheet1!B4を入れれば反映されます。 sheet2のB4にはsheet1のI4を入れたいのですが、sheet1からみて列7つ移動した形でエクセル関数を使って表現したいのです。どうやればいいですか? =Sheet1!B4+?

  • 別シートへのセル参照について

    別シートへのセル参照についての質問です。 例えばSheet1のA1,B3,C6,G9に値が入っているとします。 その値を順にSheet2のB2,C4,D9,E17に参照したいのですが、 それぞれにセル参照しないとダメなんでしょうか? Sheet1,Sheet2に違う種類の表があって、それぞれに同じ値を入力するんですが、Sheet1に入力すれば自動的に入るようにしたいです。 実際はSheetや、値を入力するセルがかなり多いので、ひとつひとつセル参照するのが大変なので・・・よろしくお願いします。

専門家に質問してみよう