- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A大学B大学C大学の空きの部分をそれぞれすべて埋めて ピボットテーブルを利用してみてください。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
お示しの表がA1セルからC12セルに有るとして、お求めに表をE1セルからI4セルに作成するとしたら次のようにします。 E2セルからE4セルに大学名が、F1セルからI1セルには1年生から三年生さらに合計が入力されているとします。 F2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR($E2="",COLUMN(A1)>4),"",INDEX($C:$C,MATCH($E2,$A:$A,0)+COLUMN(A1)-1))
お礼
お礼が遅くなって申し訳ありません。 回答ありがとうございました。 関数でもできるのですね。 やってみます。 ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! ピボットテーブルの方法はすでにNo.1さんが回答されていますので、 他の方法の一例です。 大学の列は空白がある訳ですよね? もしそうなら、無理やりって感じの方法になりますが・・・ ↓の画像で説明させていただきます。 D列に作業用の列を設けて C2セルに =IF(B2="","",INDEX($A$2:$A$99,SMALL(IF($A$2:$A$99<>"",ROW($A$1:$A$98)),COUNTA($A$2:A2)))&B2) これは配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。 D2セルに貼り付け後、F2キーを押す、またはD2セルをダブルクリック、または数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定します。 数式の戦後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピー。 そして、G2セルに =SUMPRODUCT(($D$2:$D$100=$F2&G$1)*($C$2:$C$100)) (これは配列数式ではありません) として、I2セルまでコピーします。 J2セルは単純に =SUM(G2:I2) としてます。 最後にG2~J2セルを範囲指定し、J2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 とりあえず数式は元データの100行目まで対応できるようにしています。 以上、長々と書きましたが 参考になれば幸いです。m(__)m
お礼
お礼が遅れて申し訳ないです。 回答ありがとうございました。 難しそうですが、やってみます。 ありがとうございました。
お礼
ありがとうございます。 空きの部分を埋めてやってみたのですが、 うまくいかない・・・と思って投稿したのですが、 kmetuさんの回答をみて、もう一回考えたら 項目名がなかったです。 項目名をつけたらうまくいきました。 ありがとうございます。