- ベストアンサー
Excel2003です。表リストから集計したいのですが・・・。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 外していたらごめんなさい。 >bは、2つで1作業を表しています。 >cは、3つで1作業を表しています。 とあるので、aは1つで1作業としてよいわけですよね? ↓の画像でSheet1に作業用の列を設けています。 作業列H2セルに =IF(A2="","",IF(A2="a",1,IF(A2="b",1/2,1/3))) という数式をいれオートフィルでずぃ~~~!っと下へコピー! そして、Sheet2の年・月・作業者のデータはあらかじめ入力してあるとします。 Sheet2のC3セルに =IF(COUNTBLANK($A3:$B3),"",SUMPRODUCT((Sheet1!$B$2:$B$1000=$A3)*(Sheet1!$C$2:$C$1000=$B3)*(Sheet1!$D$2:$D$1000=C$2),Sheet1!$H$2:$H$1000)) という数式をいれ、オートフィルで列方向と行方向にコピーすると 画像のような感じになります。 尚、数式はSheet1の1000行目まで対応できるようにしています。 ただ作業列に小数点以下の数値が当然出てきますが、 これらを合計してちゃんと整数になるのか自信はありません。 この程度ですが、的外れならごめんなさいね。m(__)m
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
元の表がA列からG列に有って1行目は項目名で2行目から下方にそれぞれのデータがあるとします。 まとめはシート2に作るとして、A列は年数でB列は月で3行目からデータを入力します。また、C列の2行目から横に作業者の名前を入力します。 それぞれ年数や月、名前を入力した上でC3セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR($A3="",C$2=""),"",SUMPRODUCT((Sheet1!$B$1:$B$1000=$A3)*(Sheet1!$C$1:$C$1000=$B3)*(Sheet1!$D$1:$D$1000=C$2)*(Sheet1!$A$1:$A$1000="a"))+SUMPRODUCT((Sheet1!$B$1:$B$1000=$A3)*(Sheet1!$C$1:$C$1000=$B3)*(Sheet1!$D$1:$D$1000=C$2)*(Sheet1!$A$1:$A$1000="b"))/2+SUMPRODUCT((Sheet1!$B$1:$B$1000=$A3)*(Sheet1!$C$1:$C$1000=$B3)*(Sheet1!$D$1:$D$1000=C$2)*(Sheet1!$A$1:$A$1000="c"))/3)
お礼
参考になりました。 ありがとうございました。
- Safe_Mode
- ベストアンサー率48% (1329/2725)
関数を使うのではなく、「ピボットテーブル」を使えば一発で出来ますよ。 参考URLでリンクを順にたどっていけば比較的簡単に理解できるかと思います。
お礼
ありがとうございました。
お礼
とても、参考になりました。 ありがとうございました。