• ベストアンサー

Excel:縦横入替えの上級編?

Excelでこのように(↓)管理されている表を     算数 理科 国語 社会 Aさん 合格 追試 合格 追試 Bさん 合格 合格 追試 合格 このように縦にしたいのです。 Aさん算数 合格 Aさん理科 追試 Aさん国語 合格 Aさん社会 追試 Bさん算数 合格 Bさん理科 合格 Bさん国語 追試 Bさん社会 合格 どうすれば良いのでしょうか・・・ いくら検索してもわかりません。助けてください(>_<)

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 例えば、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つのセルをまとめて、フィルダウンコピーをしてください。 なお、必ず一度、ちゃんと転記されているか、チェックしてみてください。

madeline_kng
質問者

お礼

できました!長時間悩んでいたことがWendy02さんのおかげで一気に解決しました!本当にありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

例データ 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さん 社会 合格

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

関数を組み合わせる方法があるでしょうが、手っ取り早いのは「transpose関数」で、行列を入れ替えるやり方がいいかも知れません。 この間数は「配列関数」ですので、数式をセルに設定するときにコツがいります。ネットで調べてみてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 参照関数を教えてください。

    エクセル2003sp2をXPで使用しています。 たとえば。     Aさん  Bさん  Cさん  Dさん 国語   1    3    4    2 算数   2    4    1    3 社会   4    1    3    2 理科   3    2    4    1 ↑のようなランキングの数表があるとして。その横に Aさん'   Bさん'   Cさん'   Dさん'  国語   算数    理科    社会  算数   理科    社会    国語  理科   社会    国語    算数  社会   国語    算数    理科 ↑のようにランキング順に並べ替えし、 同時に左端のラベルを引っ張ってきたいのですが。 LOOKUPやVLOOKUPは「昇順」というのがキーワードのようで 『Aさん'』の真下に 【=VLOOKUP(1,B$2:B$5,1,0)】と入れても【1】が出。 【=LOOKUP(1,A$2:A$5,B$29:B$49)】と入れると【#N/A】が出ます。 縦に20前後、横に90前後とデータがちょっと多いため ランキングを個々に並び替えることなく一発表示させたいです。 どんな数式を入れてあげればよいのでしょうか?

  • エクセルでランク表を作成する方法について

    Excelでランキング表を作成する方法を教えてください。 具体的には      国語  算数  理科   A   78   67   88   B   68   83   76   C   80   79   91 という表が既にあります。  これを次のような科目別のランキング表にしたいのです。       国語  算数  理科  1位   C     B   C  2位   A    C   A  3位   B    A   B   いろいろな関数を試したのですが,うまくいきません・・・  よろしくお願いします。

  • Excel 二つの表を用いたデータ整理

    かなり困っています。 (1)二つのエクセル表が存在 (2)ファイル1には↓のようにデータが並んでいます    A列  B列  C列  D列    生徒A 生徒B 生徒C 生徒D 行1 国語27 国語34 国語54 算数34 行2 数学36 家庭25 算数23 理科23 行3 理科55 理科44 理科21 英語44 行4 社会87 社会33 社会32 行5 英語54  (3)ファイル2は以下のようになっています    A列  B列  C列  D列  E列        国語  算数  理科  社会 行1 生徒A 27   36   55   87 行2 生徒B  (4)要するに、ファイル1のデータから必要な数値を抽出して ファイル2のデータに移し変えたいのですが、ファイルAの中の名称とデータ数が異なる場合があることもあり、整理はコピペしかないのかと半ばあきらめています。 とはいえデータの数は4000…正直なきたいです…何かいい方法はありませんか?

  • エクセルの質問です。

    エクセル2003を使用しています。 元データには   A   B(国語点数) C(算数点数) D(社会点数) E(理科点数 F(英語点) G(合計) 1 名前(1)   90        85        70       100      20    365 2 名前(2)   85        20        40       70       50    265    3 名前(3)   50        90        60       70       80    350 というデータを     A    B    C 1 名前(1)  国語  90 2        算数  85 3        社会  70 4        理科  100 5        英語  20 6        合計  365 7 名前(2)  国語  85 8        算数  20 9        社会  40 10       理科  70 11       英語  50 12       合計  265       ・       ・       ・ となるように表示していきたいのですが… ただのセルのコピーでは人が連続してコピーできませんでした。 何かいい方法があるかたはご教授ねがいます。 よろしくお願いします。   

  • 判断推理

    ここでいいのかわかりませんが。 公務員試験とかにある判断推理の問題の解き方で最も早く解ける考え方を教えてください。どうもうまく考えられずに時間がかかってしまうので。 この例題を元に教えてください。「A、B、C、Dの4人は、国語、算数、理科、社会の教師である。各自に尋ねたところ、次のように答えた。この4人は皆、半分だけ本当のことを言い、半分は嘘のことを言っているとすると、次のうち正しいのはどれか。ただし、皆異なった科目の教師である。 A:私は国語の教師で、Dは社会の教師です。 B:私は国語の教師で、Cは算数の教師です。 C:私は算数の教師で、Aは社会の教師です。 D:私は理科の教師で、Bは算数の教師です。 (1)Dは理科の教師 (2)Cは理科の教師 (3)Aは社会の教師 (4)Dは社会の教師 (5)Bは算数の教師 (1)が答えみたいなんですが。 よろしくお願いします。

  • エクセルのシートの縦横入れ替え

    エクセルは通常横にA、B、C、D・・・とあり、縦に1,2,3,4・・・とありますが、横方向に大量のデータを入力したいので、IVだけでは足りないので、これを逆、つまり横に1,2,3,4・・・縦にA、B、C、D・・・としたいのですが可能でしょうか?

  • エクセルの複数列の集計

    エクセル集計について質問です。 下記のように、列が複数あって、各教科ごとに集計をしたいのですが、列が複数ある場合、どの関数を使えばいいでしょうか? よろしくお願いします。       朝     昼    夜 9-12 英語 2 理科 3 国語 3 1-3 国語 1 社会 2.5 算数 1.4 4-6 社会 1.5 国語 3 理科 2 7-9 理科 1 算数 1.3 算数 2 9-12 算数 1 英語 1 算数 1

  • 参照セルを条件付き書式で・・・

    お世話になってます。 さっそく本題なのですが、 「国語」 「算数」 「英語」 「理科」 「社会」の各シートがあり、各シートには、生徒名とそれぞれのテストの点があり、評定A,B、Cが計算されているものとします。 例 「国語」   1   2  3 A伊藤  90  A B大久保 40  C  C板垣  70  B それぞれの成績を 一覧表にまとめたのですが、   1  2  3 A   「国語」「算数」 B伊藤   A  B C大久保  C  B この一覧表の成績(A2やB2)は「国語」や「算数」のシート から=国語!A1のように参照?引用?しています。 この時、条件付き書式で成績がAの評価のみを色を変えて表示することは可能でしょうか? もしほかの方法で可能な方法があれば教えてください。 よろしくお願いします。

  • Excelの条件書式で複数の条件を指定することは可能でしょうか?

    Excelの条件書式で複数の条件を指定することは可能でしょうか? 下記のように名簿と平均があった時に、名簿の所属クラスの平均より低い項目の背景色を変更したいです。 条件書式で無理な場合はマクロを教えて頂けると助かります。。。 よろしくお願い致します。 名簿 クラス..名前..国語..算数..理科..社会 A.......一郎....50....60....70....80 B.......次郎....40....50....60....70 A.......三郎....10....20....30....40 B.......四郎....45....62....48....90 平均 クラス......国語..算数..理科..社会 A.............60....70....80....75 B.............65....80....70....60

  • Excel VBA 検索して該当行を抽出

    はじめまして、下記のように、Excelでマクロを組みたいのですが 組み方がわかりません。 ご教授願えませんでしょうか。 MS Ofiice2010 生徒数500名ほど シート1には生徒の生徒番号、氏名などがあります。      A     B     C     D 1 生徒番号   氏名   備考 2 120001     田中 3 120002     山田  試験時休み 4 T120009    相田   転入 シート2には生徒の成績表:生徒番号、氏名、国語、算数、理科、社会 生徒番号でソートされていません。      A     B     C     D     E     F    1 生徒番号   氏名   国語   算数   理科   社会   2 120001     田中   80    65     65     75 3 T120009    相田   90    85     80     80 シート1の生徒番号でシート2生徒番号を検索して、該当したら成績を シート1の検索した生徒番号のD列以降にコピーしたいのですが      A     B     C     D     E     F     G 1 生徒番号   氏名   備考   国語   算数   理科   社会 2 120001     田中         80    65     65     75 3 120002     山田  試験時休み 4 5 10 T120009    相田   転入    90    85     80     80 お手数ですが、ご教授願えますでしょうか。 よろしくお願いいたします。

専門家に質問してみよう