プロが教える店舗&オフィスのセキュリティ対策術

名前の定義を使って、年間の祝日はすでに定義してあります。
7月は2021/7/22、2021/723の2日が祝日ですが、関数の挿入を使って
=SUMIF(C4:AG4,祝日,C7:AG7)
の数式を作っても結果は0となって計算が出来ません。出来ない理由がどうしてもわかりません。お教え頂けないでしょうか?

「月間シフト表中で、祝日の出勤数をSUMI」の質問画像

質問者からの補足コメント

  • 今年は土日と祭日が重なった日がありませんでしたが、おっしゃる通りで、確かに重なることがありますね。
    日曜日が休日の場合は振替休日で月曜日休みなので、その場合は該当する月曜日を「祝日」に入れるつもりでしたが、土曜日重なりについては考えておりませんでした

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/04/21 13:45

A 回答 (2件)

こんばんは



>出来ない理由がどうしてもわかりません。
ご提示のダイアログにも表示されていますが、検索条件の「祝日」の欄は44238(=20212/2/11)として評価されています。
ですので、「2021/2/11」と一致する日のC7:AG7の値を合計しますが、該当する日付が無いので、結果は{0,0,0,0,・・・}と表示されていますよね?
これを合計しているので、結果は「0」となっていると思われます。


セル位置(行番号)がよくわかりませんけれど、
・C4:AG4に日付がシリアル値で入っていて
・C7:AG7の数値を合計したい
ってことと解釈しました。
※ ただし、その割には、添付図で数式がX7セルに設定されているみたいなので、ご提示の状態は循環参照になっていると思われます。
※ 以下では、計算で参照するセルの範囲外に数式を入力するものと仮定しています。

計算方法として、「祝日」の表(複数の値)と一致する日があるかないかを調べて、一致する場合にC7:AG7の値を合計するような計算にする必要があると考えられます。
 =SUMPRODUCT(COUNTIF(祝日,C4:AG4),C7:AG7)
ではいかがでしょうか?

※ 上式は祝日リストに重複がないものと仮定しています。
もしも、重複する可能性があるような場合には、
 =SUMPRODUCT((COUNTIF(祝日,C4:AG4)>0)*C7:AG7)
とすることで求められると思います。
(合計対象セル範囲の値に数値でないものが含まれると、エラーになりますのでご注意)
    • good
    • 0
この回答へのお礼

こんにちわ
ご回答ありがとうございました。
お教え頂いた数式を入れたら、祭日の出勤数が出ました。

質問時に、慌てていたので土日の週末出勤もありの場合を忘れておりました。
 でも、祭日の出勤数をお教え頂いたのでSUMIF関数で曜日指定したものを加え、
=SUMPRODUCT((COUNTIF(祝日,C4:AG4)>0)*C7:AG7)+SUMIF(C2:AG2,">5",C7:AG7)
を使って一応、土日祭日出勤数は解決出来ました、

平日出勤数もSUMIFの指定で火曜日から金曜日の指定がまだわからなかったので、月曜日は入力ミスしなければよいかな?と考え取りあえず
=SUMIF(C2:AG2,"<6",C7:AG7)-SUMPRODUCT((COUNTIF(祝日,C4:AG4)>0)*C7:AG7)
として曲りなりに解決いたしました。

ご回答頂きまして本当にありがとうございます。
感謝しております。

お礼日時:2021/04/21 13:00

No1です。



>を使って一応、土日祭日出勤数は解決出来ました、
土日で祝日ってあるはずですけれど、無視してもよいのでしょうか??
(普通は考慮する)
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!