- ベストアンサー
Excel:縦横入替えの上級編?
Excelでこのように(↓)管理されている表を 算数 理科 国語 社会 Aさん 合格 追試 合格 追試 Bさん 合格 合格 追試 合格 このように縦にしたいのです。 Aさん算数 合格 Aさん理科 追試 Aさん国語 合格 Aさん社会 追試 Bさん算数 合格 Bさん理科 合格 Bさん国語 追試 Bさん社会 合格 どうすれば良いのでしょうか・・・ いくら検索してもわかりません。助けてください(>_<)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 例えば、Sheet2 に移すのでしたら、以下のようにすればよいですね。 式自体は、1行目は、いつでも以下のようになります。 A1: =OFFSET(Sheet1!$A$1,((ROW(A1)-1)/4)+1,) B1: =OFFSET(Sheet1!$A$1,,MOD(ROW(A1)-1,4)+1) C: =OFFSET(Sheet1!$A$1,((ROW(A1)-1)/4)+1,MOD(ROW(A1)-1,4)+1) 後は、表示が、0 になるまで、その3つのセルをまとめて、フィルダウンコピーをしてください。 なお、必ず一度、ちゃんと転記されているか、チェックしてみてください。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
例データ A1:E4 算数 理科 国語 社会 Aさん 合格 追試 合格 追試 Bさん 合格 合格 追試 合格 Cさん 追試 追試 合格 合格 とする。 第10行目から目的の表を作るとする。 (A列)氏名 A10に =INDEX($A$1:$E$4,INT((ROW()-10)/4)+2,1) と入れて A21(21=10-1+4*3)まで式複写する。 各人4科目なので、4回繰り返して出る。実際の場合は、上記式の10,4を開始行と科目数により変更が必要。 (B列科目名) B10に =INDEX($A$1:$E$4,1,MOD(ROW()-10,4)+2) と入れて、B21まで式を複写する。4科目の4行の繰り返しを作ればよい。 (C列同格等) C10に =INDEX($A$1:$E$4,INT((ROW()-10)/4)+2,MOD(ROW()-10,4)+2)と入れて、C21まで式複写。 (注) (A)もちろんA10,B10,C10に上記の式をいれ、A10*C10の式を+ハンドルでA21:C21まで複写するのが良いが、説明の都合で、各列の複写する方式で説明。 (B)質問の例から離れて、実際の例に適用する場合は、上記式の10,4の数字を開始行と科目数により変更が必要。 結果 Aさん 算数 合格 Aさん 理科 追試 Aさん 国語 合格 Aさん 社会 追試 Bさん 算数 合格 Bさん 理科 合格 Bさん 国語 追試 Bさん 社会 合格 Cさん 算数 追試 Cさん 理科 追試 Cさん 国語 合格 Cさん 社会 合格
- prairie-gentian
- ベストアンサー率30% (39/128)
関数を組み合わせる方法があるでしょうが、手っ取り早いのは「transpose関数」で、行列を入れ替えるやり方がいいかも知れません。 この間数は「配列関数」ですので、数式をセルに設定するときにコツがいります。ネットで調べてみてください。
お礼
できました!長時間悩んでいたことがWendy02さんのおかげで一気に解決しました!本当にありがとうございました!!