• ベストアンサー

エクセルで担当時間数の自動計算

年間担当科目時間数を計算する関数を作ろうとしています。 時間は週当たりの時間数、学期の部分はその科目が何週あるかを示しています。 表1で担当の名前を入力したら、表2のように自分の名前の所に自動的に 計算されるようにしたいと考えています。 よろしくお願いいたします。 表1 科目  時間 一学期 二学期  担当 ------------------ 数学1 2   10  15  田中 漢文  3   10  20  鈴木 数学2 2    5   5  田中 音楽  2   15  15  佐藤 表2    一学期 二学期 田中  30  40 鈴木  30  60 佐藤  30  30

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.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)),"")

noname#242762
質問者

お礼

ご回答ありがとうございます! 大変助かりました。

その他の回答 (3)

  • goo39
  • ベストアンサー率36% (13/36)
回答No.3

○学期の時間数は =SUM(IF(表1の担当者列=表2の担当者,表1の時間列*表1の○学期列)) を配列式にします。

noname#242762
質問者

お礼

シンプルにSUM関数の中にIFですね。 ご回答ありがとうございます。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

表1・表2とは、どこにどのように存在するのでしょうか。 シートが同じなのか、違うのか。 セル番地はどこからどの位の範囲なのか。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 表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)),"") 上記のセルを下方向にコピーで如何でしょうか。

関連するQ&A