- ベストアンサー
Excelについて
Excelについて 初心者です。 Sheet1のデータを参照させSheet2に下記のような表を作りたいのですが A B C D [1] A1 A2 A3 A4 [2] B1 B2 B3 B4 [3] C1 C2 C3 C4 今は一つ一つ手で=Sheet1!A1、=Sheet1!A2、=Sheet1!A3 と入れていっているのですが数が多いので何か簡単な方法はないでしょうか。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
行列を入れ替えた表を作成したいということでしょうか? 関数でなければ、コピー元の範囲を選択して右クリック「コピー」、貼り付け先で右クリック「形式を選択して貼り付け」で「行列を入れ替える」にチェックを入れて「OK」するのが簡単です。 元データに反映して自動的に変更したいならTRANSPOSE関数を利用します。 例示のように元データが4行3列のデータを3行4列にリンクするなら、3行4列のデータ範囲を選択し「=TRANSPOSE(Sheet1!A1:C4)」のように入力し、CtrlキーとShiftキーを押しながらEnterして配列数式にしてください。
その他の回答 (5)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>1の入っているセルがA1B1の結合セル、2はC1D1の結合セル、 >aはA2B2の結合セル、bの入っているのがC2D2の結合セルといった具合です > >これを教えていただいた方法で行列を入れ替えると > >といった具合に必要ない00の行が出てしまいます。 結合セルを生かしてそのまま縦と横を入れ替えるなら、いったんTRANSPOSE関数で貼り付けた後、元のデータ範囲を選択し、右クリック「コピー」数式貼り付け先を選択し(数式入力後なら不要)、右クリック「形式を選択して貼り付け」で「書式」と「行列を入れ替える」にチェックを入れて「OK」します。
お礼
回答ありがとうございました。いろいろ教えていただいたので順番に試して見たいと思います。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
#1さん回答の返答より A1:B8セルを選択して =IF(TRANSPOSE(Sheet1!A1:H2)="","",TRANSPOSE(Sheet1!A1:H2)) それとも 2とびで A1セルに =INDEX(Sheet1!$A$1:$H$2,COLUMN(),ROW()*2-1) 右へ下へオートフィル
お礼
回答ありがとうございました。いろいろ教えていただいたので順番に試して見たいと思います。
- imogasi
- ベストアンサー率27% (4737/17069)
セルの値だけで良いなら シート1で範囲をコピーし シート2のA1セルを選択し、編集ー形式を選択して貼り付けー「値」で「行列を入れ替える」
お礼
回答ありがとうございました。いろいろ教えていただいたので順番に試して見たいと思います。
Sheet2!A1; =OFFSET(Sheet1!$A$1,COLUMN(A1)-1,ROW(A1)-1)
お礼
回答ありがとうございました。いろいろ教えていただいたので順番に試して見たいと思います。
- aokii
- ベストアンサー率23% (5210/22062)
Sheet2のA1セルに以下を入力して、 =INDIRECT("Sheet1!R"&COLUMN(A1)&"C"&ROW(A1),FALSE) Sheet2の他のセルへドラッグコピーしてみて下さい。 一回だけなら、 Sheet1のデータを全てコピーして、行列を入れ替えて値をSheet2に貼り付けても良いのでは。
お礼
回答ありがとうございました。いろいろ教えていただいたので順番に試して見たいと思います。
お礼
回答ありがとうございました。いろいろ教えていただいたので順番に試して見たいと思います。
補足
ありがとうございます! 参照させたいのでTRANSPOSEで試してみました。 うまく行きました。 もう一つ教えていただければ嬉しいのですが 実際はA1B1、C1D1,と隣り合うセル2つを結合させているので 教えていただいた要領で参照させると 1234 a b c d 1の入っているセルがA1B1の結合セル、2はC1D1の結合セル、 aはA2B2の結合セル、bの入っているのがC2D2の結合セルといった具合です これを教えていただいた方法で行列を入れ替えると 1 a 0 0 2 b 0 0 3 c 0 0 4 d 0 0 といった具合に必要ない00の行が出てしまいます。 これを非表示にすれば体裁は整うのですが 他に方法がありますでしょうか?