ID非公開

2020/9/10 14:18

22回答

EXCELの関数の質問です。 A6のセルに社員番号、B6のセルに氏名、C6のセルに 日付、D6のセルに曜日が入っています。月曜日から金曜日まで連続して5日以上勤務している人 に〇を付けたいです。

EXCELの関数の質問です。 A6のセルに社員番号、B6のセルに氏名、C6のセルに 日付、D6のセルに曜日が入っています。月曜日から金曜日まで連続して5日以上勤務している人 に〇を付けたいです。 (水曜日から火曜日までは週をまたがるので対象外です。) どのような関数になりますか?

画像

Excel | データベース34閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

「同じ社員番号で同じ年の同じ週が5行以上ならゼロを表示する」ですね。 「同じ年の同じ週」を判定する必要があるわけですが、countifs関数でやるには作業列が必要です。=year(日付)*100+weeknum(日付, 11) =countifs(社員番号, 自分の行の社員番号, 作業列, 自分の行の作業列) それが無理なら、面倒だけど昔ながらのsumproduct関数になります。 =sumproduct((社員番号=自分の行の社員番号)*(year(日付)*100+weeknum(日付, 11)=year(自分の行の日付)*100+weeknum(自分の行の日付, 11))) 最終的には =if(判定式>=5, 漢数字のゼロ, 空文字列) とか =rept(漢数字のゼロ, 判定式>=5) みたいに組み立てます。

ID非公開

質問者

2020/9/10 14:57

自分の行の社員番号、自分の行の作業列とは、どういうことでしょうか?

ThanksImg質問者からのお礼コメント

ありがとうございました!

お礼日時:9/10 15:38

その他の回答(1件)

0

質問の画像、最後が11日金曜日になってますが、10日ですよね? 自信は無いけど(´・ω・) E3=IF(AND(WEEKDAY(C3)=2,C7-C3=4),"◯",IF(AND(E2="◯",C2+1=C3),"◯","")) を下方向にフィルしたものが添付です。

画像