Excelのバージョンは2019です。
上の画像のように、各日付ごとにその日の合計人時を自動計算する表を作成したいと考えています。
7行目が自動計算したい部分となります。
A~Eさんがそれぞれ異なった人時を持っており、7行目のC列以降にその日の合計人時を表示しています。
予定が「休」だった場合、合計人時に含めていません。
このような処理をしたいのですが、どのように関数を書いたらいいのかわからず困っています。
excel
1=SUM(B2:B6)-IF(C2<>"",B2)-IF(C3<>"",B3)-IF(C4<>"",B4)-IF(C5<>"",B5)-IF(C6<>"",B6)
現状では、たとえば10月1日の場合、C7セルに上記のような関数で無理やり実現しています。
まずB列の人時の合計を取得し、それからC列の予定が空でなかったら、その人のB列に入っている人時で引いていってます。
しかしこれだと、在籍する人数分IF文が増えてしまううえに、別の日の場合はCをD、E、F…と順に置き換えなければならず、非常に面倒な手作業が増えてしまいます。
人数の追加にも対応できません。
せめてphpなどでいうfor文のような記述ができれば短くできそうなのですが、for文に当たる関数が見つかりませんでした。
excel
1for($i=1;$i<=++$i) { 2 $sum += IF(C$i<>"",B$i) 3} 4=SUM(B2:B6)-$sum
上記のような関数だとphpが混ざっているためエラーになりますが、やりたいこととしてはこのようなイメージです。
適した記述方法をご存知の方は、教えていただけないでしょうか?
あるいはfor文のようなことをせずとも実現可能である(あるいはそうでないと実現できない)場合は、そちらでも構いません。
回答4件
あなたの回答
tips
プレビュー