- ベストアンサー
エクセルで関数などを使って行列を変更する。
シート1に 下記のように入力されているシートを A B C 1 1000 1 45 2 1000 4 78(以下同じように配列されているものとします。) 3 1001 2 14 4 1000 2 36 5 1001 1 91 6 1001 4 47 7 1000 3 25 8 1001 3 64 シート2に次のようにすることは可能でしょうか? A B C D E 1 1 2 3 4 2 1000 45 36 25 78 3 1001 91 14 64 47 初歩的な質問で申し訳ありませんが、よろしくご教授ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
例示された物がどのように変換しているのか解りづらいのですが 単に行と列を入れ替えるだけなら 元になる領域をコピー⇒コピー先の左上のセルで、「形式を選択して貼り付け」⇒行と列を入れ替える⇒OK でできます。 見当違いならごめんなさい
その他の回答 (3)
Sheet2 のセル B2 に次式を入力して、此れを範囲 B2:E3 に複写 =SUMPRODUCT((Sheet1!$A$1:$A$8=$A2)*(Sheet1!$B$1:$B$8=B$1),Sheet1!$C$1:$C$8)
お礼
早速の回答ありがとうございます・参考にさせていただきました。関数式の意味をしらべたところ自分のシートに合った方法が見つかりました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 必要に応じて、式の範囲を変更してください。 Sheet2 A B C D E 1 1 2 3 4 2 1000 45 36 25 78 3 1001 91 14 64 47 4 1002 B2:~下・右へ =IF(OR(COUNTIF(Sheet1!$A$1:$A$8,$A2)=0,COUNTIF(Sheet1!$B$1:$B$8,B$1)=0),"",INDEX(Sheet1!$A$1:$C$8,MAX(INDEX((Sheet1!$A$1:$A$8=$A2)*(Sheet1!$B$1:$B$8=B$1)*ROW(Sheet1!$A$1:$A$8),,)),3))
お礼
早速の回答ありがとうございます・参考にさせていただきます。
- Cupper
- ベストアンサー率32% (2123/6444)
TRANSPOSE関数ですね Sheet2のA1に =TRANSPOSE(Sheet1!A1:C8) 次に Sheet2 の A1 から E3 を範囲して F2 を押す(A1を編集状態にする) A1を編集の状態から Shift + Ctrl + Enter Sheet2 の A1 から C3 に行列を入れ替えた参照が出来上がります。 ※セルを一つずつ選択して参照貼り付けしても出来ますが、この方が早いです。
お礼
早速の回答ありがとうございます・参考にさせていただきます。
お礼
早速の回答ありがとうございます・参考にさせていただきます。