- ベストアンサー
エクセルで担当時間数の自動計算
年間担当科目時間数を計算する関数を作ろうとしています。 時間は週当たりの時間数、学期の部分はその科目が何週あるかを示しています。 表1で担当の名前を入力したら、表2のように自分の名前の所に自動的に 計算されるようにしたいと考えています。 よろしくお願いいたします。 表1 科目 時間 一学期 二学期 担当 ------------------ 数学1 2 10 15 田中 漢文 3 10 20 鈴木 数学2 2 5 5 田中 音楽 2 15 15 佐藤 表2 一学期 二学期 田中 30 40 鈴木 30 60 佐藤 30 30
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
NO1です。 以下のシート名の記載が誤っておりますので、以下に訂正します。 Sheet2のB2に=IF($A2<>"",SUMPRODUCT(($A2=Sheet1!$E$2:$E$100)*(Sheet1!$B$2:$B$100*Sheet1!$C$2:$C$100)),"") Sheet2のC2に=IF($A2<>"",SUMPRODUCT(($A2=Sheet1!$E$2:$E$100)*(Sheet1!$B$2:$B$100*Sheet1!$D$2:$D$100)),"")
その他の回答 (3)
- goo39
- ベストアンサー率36% (13/36)
○学期の時間数は =SUM(IF(表1の担当者列=表2の担当者,表1の時間列*表1の○学期列)) を配列式にします。
お礼
シンプルにSUM関数の中にIFですね。 ご回答ありがとうございます。
- n-jun
- ベストアンサー率33% (959/2873)
表1・表2とは、どこにどのように存在するのでしょうか。 シートが同じなのか、違うのか。 セル番地はどこからどの位の範囲なのか。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 表1をSheet1、表2をSheet2とします。 Sheet2のB2に=IF($A2<>"",SUMPRODUCT(($A2=Sheet2!$E$2:$E$100)*(Sheet2!$B$2:$B$100*Sheet2!$C$2:$C$100)),"") Sheet2のC2に=IF($A2<>"",SUMPRODUCT(($A2=Sheet2!$E$2:$E$100)*(Sheet2!$B$2:$B$100*Sheet2!$D$2:$D$100)),"") 上記のセルを下方向にコピーで如何でしょうか。
お礼
ご回答ありがとうございます! 大変助かりました。