- ベストアンサー
エクセルのくし刺し集計で成績表を集計をしたい
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
シート1からシート10のI列にデータを用意。 集計シートのK列に =SUMPRODUCT((SUBTOTAL(9,INDIRECT("Sheet"&ROW($A$1:$A$10)&"!RC9",FALSE))=COLUMN(A2))*1) を記入し,右にコピー,下にコピー。
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
各シートの項目の並びは同じものとします。各シートはSheet1からSheet10までとなっているとします。 そこで串刺しですが関数で一気に求めることはできませんので一度まとめのシート例えばシート11にすべてのシートのデータを表示させ、その後にそのシートを使ってまとめの解析をすればよいでしょう。各シートの計算のもととなるデータが一か所に表示されることもまた大きなメリットであると思います。 シート11ではA2セルから下方には各シートで使われている項目名をコピーして表示させます。 また、集計に利用するシートはシート1から10までとする場合にはB1セルからK1セルにかけて1,2,3、…と入力します。 その上でB2セルには次の式を入力してK2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(B$1="",$A2=""),"",INDIRECT("Sheet"&B$1&"!I"&ROW(B2))) これで各シートのI列でのレベルが表示されます。 次のまとめとしてM1セルからP1セルにかけて1,2,3,4を入力します。レベルです。 M2セルには次の式を入力してP2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 これで各項目ごとのレベルの集計が表示されます。 最後に作業列が目障りでしたらB列からL列までを選択して右クリックし、非表示を選択すればよいでしょう。
- imogasi
- ベストアンサー率27% (4737/17069)
補足すること。 >シート1枚がそれぞれ受講者の成績表だとします 何枚ものシートがあるようだが、みな同じフォーマット(項目的に同じ列構成)か? >1枚のシートに項目は90程有り、レベルは1~4になっています。 レベルというのは質問者だけの仕事の用語であろう。読者・他人にはわからない。 各(全?)セルのデータは、習熟レベルなどのランクの数字で、1-4のどれかが入っているのか? 各(個人?)シートの何処かのセル(番地が同じセル)に1-4間での数字が入っているのか? シートごとに質問者なら見れば判るといった内容ではないでしょうね。コード化されているのでしょうね。 >1枚目のシートから10枚目のシートまでで、項目別の修得度の集計をしたいのです 例えばレベル1のシートが10枚目のシートまでで、レベル2は11枚目から20枚目などか? >項目別の修得度の集計をしたいのです >項目1のレベル1の個数、レベル2の個数・・・・というように ということは項目1の入ったセルにはレベルを表す数の1か2か3か4のどれかが入っていて、レベル1の入ったものはぜんしーとを数えて、何人か をカウントしたいということか。 ーー シート数を少ない数にして、項目数も少ない数にして、模擬実例を作れないのか。 画像からでは読み取りにくい。 ---- 簡単な例の質問にすると下記ではないか 例データ Sheet1 項目 レベル a 1 b 3 c 2 Sheet2 項目 レベル a 3 b 2 c 2 Sheet3 項目 レベル a 1 b 2 c 1 ーーー データーピボットテーブルー複数のワークシート範囲ー次へー自動ー次へ Sheet1で範囲指定(A1:B4)ー追加ー Sheet2で範囲指定(A1:B4)ー追加ー Sheet3で範囲指定(A1:B4)ー追加ー ーー 範囲一覧は Sheet1!$A$1:$B$4 Sheet2!$A$1:$B$4 Sheet3!$A$1:$B$4 となる ーーー その後 次へーレイアウトボタンクリック 行には、行 列には、列と値 をD&Dする データは「データの個数」データの部分でダブルクリックして出たものから選ぶ)ーOK-OK ーーー データの個数 / 値 列 値 レベル レベル 合計 総計 行 1 2 3 a 2 1 3 3 b 2 1 3 3 c 1 2 3 3 総計 3 4 2 9 9 不要列や行は非表示に出来る。
お礼
お礼が遅れてすみません。 いろいろなやり方があるようですが、ど素人なので簡単に出来た方法を使わせて頂きました。 絶対自分では解決できない事を教えて頂ける、OKwebってすばらしいですね。 ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
データシートも集計用シートと同様に4列構成にすれば串刺し計算が可能です。 (1)現在の項目行のレベル番号に基づき、各レベル列に「1」を入力し直す (2)集計シートの先頭セルに=SUM(シート1:シート10!レベル1のセル)として縦横にコピー
- MackyNo1
- ベストアンサー率53% (1521/2850)
ご希望の集計をするには、複数のシートを集計するピボットテーブルを利用するのがおすすめです。 「データ」「ピボットテーブルと・・・・」で「複数のワークシート範囲」にチェックを入れ、「次へ」「次へ」で範囲の右側のアイコンをクリックして、1つのシートの項目名を含めたデータ範囲を選択して「追加」します。 同様に2つ目以降のシートのデータ範囲を選択して「追加」して、すべてのシートのデータ範囲を「追加」し「完了」ボタンをクリックします。 表示されたピボットテーブルの「値」フィールドを、「列」の部分にドラッグしてレベルの数字を追加し、「列」と表示されている部分をテーブル外にドラッグして削除します。 最後にレベルの合計値が表示されているデータフィールドで右クリックして、「フィールドの設定」で「データの個数」を選択します。
お礼
お礼が遅れてすみません。 いろいろなやり方があるようですが、ど素人なので簡単に出来た方法を使わせて頂きました。 絶対自分では解決できない事を教えて頂ける、OKwebってすばらしいですね。 ありがとうございました。