• 締切済み

エクセルで3つのデータを1つにまとめたい

よろしくお願いします。 どなたか、簡単な方法を教えてください。 どういう事かと言いますと、 1学期から3学期までの学習成績の一覧表を一つにまとめたいのです。 例えば、B1セルに出席番号1番の子の名前が入っているとします。すると、C列とD列は空白の列で、出席番号2番の子の名前は、E1セルに入ります。また2列空白列を作り、出席番号3番の子の名前はH1セルに入ります。というのを、30数人分名前を入れます。 A2セルには、例えば国語の読む力という評価項目を入れるとすると、その下(つまりA3セル)には国語の書く力、A4セルには国語の話す力・・・というふうに項目が入ります。 元になる表は、各学期ごとに作った一覧表です。これは、児童名と児童名の間に空白列はありません。当たり前ですが。これが違うファイルとして3つあるわけです。ここから、上に書いたような表を作り、例えば出席番号1番の子の1学期の国語の読む力の評価はB2セルに、2学期の読む力の評価はC2セルに、3学期の評価はD2セルに、一気に飛ばしたいのです。 LOOKUP系の関数を使うのかなぁと漠然と想像はしているのですが、VLOOKUPすら理解できていないので、いちいち「=」を使ってコピーしています。 だらだらとした分かりにくい文章で申し訳ありませんが、一気に片付く方法をご存知の方がいましたら、よろしくお願いします。

みんなの回答

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

表の具体的なイメージを例として書いて質問してください。 文章でデータ例を書くと判りにくい。 質問の文章だけでは良くわからない。なぜ具体的な例を作って、書いて質問しないのか。 下記のような書き方を参考にして考えてみて。 (元になる表)3ブック?3シート? >児童名と児童名の間に空白列はありません (1学期シート)あるいはブックか? A--国語の読む力の点数 B-国語の書く書く力 C-国語の話す書く力 A列ーーーーーーーーーB列ーーーーーーーーーーーC列・・・ ーーー山田ーーーーーー 木村ーーーーーーーーーー>生徒番号順 山田のAの評価?ーーー 木村のAの点数ーーー 山田のBの評価 山田のCの評価 ・・・・ (第2学期シート)1学期と別ブックか? ・・・ 第1学期の生徒順と同じか (第3学期シート) 第2学期と同じ疑問あり ====== 上記データから B列ーーC列--D列ーーーーE列ーーーF列ーーG列ーーーH列ーーー 山田ーーーーーーーーー ーー木村ーーーーーーーーーー鈴木ーー> 生徒番号順  Aの評価ーAの評価ーAの評価 第1学期ー第2学期ー第3学期 Bの評価ーBの評価ーBの評価 第1学期ー第2学期ー第3学 Cの評価ーCの評価ーCの評価 第1学期ー第2学期ー第3学期ーーここまで評価は3行になっている ・・・ 以下は1評価項目で各1行 ===== こんなに複雑な表の組み換えは本来、関数でな無理だろう。 ただ生徒の出席番号順というのが各学期データ(生徒名と評価点数の出現順序)で同じらしいので、複雑にはなるが、各評価行は式の複写で持ってこれるだろう。 ==== データを横方向に流すという構成は、エクセルの経験が少ない証拠。 長くなって印刷したときも始末が悪い。 生徒名を下方向に流し、評価項目を列にならべるのが普通と思う。 === 別ブックにデーたを分けると何かとエクセルではやりにくい。 今からでも3ブックから、1ブックの3シートに手作業でコピー貼り付けすることをすすめる。 其れで(シート名)!セル番地の式でで1学期分の列と2学期分の列と3学期分の列をB,C,D列にセットし、下方向に式を複写し旨く1人分データがが集ることまでをやる。 その後3列ごとにうまく行くようにINDEX関数の利用に切り替えて、右方向の式の複写で、山田ー木村ー鈴木のデータに切り替わるか式を考える。

すると、全ての回答が全文表示されます。
  • popuplt
  • ベストアンサー率38% (31/81)
回答No.3

新しいシートに1学期の成績表、その横に2学期、3学期の成績表をコピーします。 ソートのオプションを使って出席番号順に列方向に並べ替えます。 こんな方法でもお望みのような表になるのでは?

すると、全ての回答が全文表示されます。
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

学期単位の成績表がそれぞれSheet1~3に有るとして、それぞれのシート構成が同じ物で、Sheet4に年間の成績を集計する場合 Sheet4の B2セルに =OFFSET(Sheet1!$A$1,ROW()-1,INT((COLUMN()-2)/3)+1) C2セルに =OFFSET(Sheet2!$A$1,ROW()-1,INT((COLUMN()-2)/3)+1) D2セルに =OFFSET(Sheet3!$A$1,ROW()-1,INT((COLUMN()-2)/3)+1) と入力し、B2:D2セルを選択した状態で右方向にドラッグしてコピー、さらに下方向へドラッグしてコピーする事で目的の集計が出来るはずです Sheet1~Sheet4の構成が異なっているようであれば(評価項目や氏名の並び順が違う場合) B2セルに =INDEX(Sheet1!$A$1:$E$5,MATCH($A2,Sheet1!$A:$A,1),MATCH(B$1,Sheet1!$1:$1,1)) C2セルに =INDEX(Sheet2!$A$1:$E$5,MATCH($A2,Sheet2!$A:$A,1),MATCH(B$1,Sheet2!$1:$1,1)) D2セルに =INDEX(Sheet3!$A$1:$E$5,MATCH($A2,Sheet3!$A:$A,1),MATCH(B$1,Sheet3!$1:$1,1)) (それぞれの式の$A$1:$E$5の部分は各シートの表の範囲に変更してください) と入力その後は最初の例と同じくコピーしてください

すると、全ての回答が全文表示されます。
  • shenyi401
  • ベストアンサー率23% (25/105)
回答No.1

「シート参照」のことでしょうか。 例えば、sheet1をまとめたものに、sheet2を1学期に、sheet3を2学期に、sheet4を3学期に割り当てます。 sheet1の、値を挿入したいセルに「Shift=」で「=」を打ち込みます。 次に、挿入したいデーターがあるsheetに移動して、挿入したいデーターのセルで「Enter」を押します。 すると、sheet1の、値を挿入したいセルにそのデーターが反映されるはずです。 お望みのものと違っていたらすみません。

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