dポイントプレゼントキャンペーン実施中!

エクセルで点検表毎週金曜日を求める祝日の時その前の出勤日
例え2015年10月22日・23日休みの場合23日(金)22(木)答えは21(水曜日)になります
A1"年", D1"月" 別シートに祝日の一覧表あります
第1金曜日の場合=DATE($A$1,$D$1,1*7-WEEKDAY(DATE($A$1,$D$1,3),3))
第2金曜日の場合=DATE($A$1,$D$1,2*7-WEEKDAY(DATE($A$1,$D$1,3),3))
ただこの関数の場合はあくまでも金曜日表す、金曜日が休みであればその前の出勤日を求めたいです。
解る人いれば教えて頂けませんでしょうか?
宜しくお願いします。

A 回答 (4件)

こんにちは!



>別シートに祝日の一覧表あります
というコトですので、↓の画像のようにSheet2に祝日(会社休日)の表を作成しておくとします。

画像ではSheet1のB3セル(セルの表示形式は好みの日付)に
=WORKDAY(DATE($A$1,$D$1,0)-WEEKDAY(DATE($A$1,$D$1,0)-4,3)+7*ROW(A1)+1,-1,Sheet2!$B$2:$C$21)
という数式を入れフィルハンドルで下へコピーしています。

※ WORKDAY関数の「祭日」の欄は直接セルを参照していますが、
「祝日の一覧」の範囲を名前定義しておけば
>Sheet2!$B$2:$C$21
の部分はその名前定義の名前で大丈夫のはずです。

こんな感じではどうでしょうか?m(_ _)m
「エクセルで点検表毎週金曜日を求める祝日の」の回答画像4
    • good
    • 0
この回答へのお礼

tom04様
関数ありがとうございます私の問題これで解決しました。
今度毎月自動的に提出出来るようになりました。
私外国出身です、もし失礼な文書がありましたら、ごめんなさい

amassadinho
                                   以上

お礼日時:2015/10/17 05:42

[No.2]で、説明が漏れていました、


というより素直に誤まります。ごめんなさい:間違えていました。
唐突に「$A$6」の登場で戸惑わせてしまいました。
「$A$6」にはは貴方が示した「第2金曜日」の式をソックリ当て嵌めます。
その結果は、次のように相成ります。ふ~

=IF(DATE($A$1,$D$1,2*7-WEEKDAY(DATE($A$1,$D$1,3),3))-WORKDAY(DATE($A$1,$D$1,2*7-WEEKDAY(DATE($A$1,$D$1,3),3)),-1,Holidays)=1,DATE($A$1,$D$1,2*7-WEEKDAY(DATE($A$1,$D$1,3),3)),WORKDAY(DATE($A$1,$D$1,2*7-WEEKDAY(DATE($A$1,$D$1,3),3)),-1,Holidays))
    • good
    • 0
この回答へのお礼

mike_g様

解答ありがとうございます教えてもらった関数は第2・第3・第4出来ますが
第1なりませんでしたけど、今の関数参考として頂きます、ご丁寧に教えって
くれってありがとうございます、今後とも宜しくお願いします

amassadinho

                                        以上

お礼日時:2015/10/17 05:47

第2金曜日の場合は=IF($A$6-WORKDAY($A$6,-1,Holidays)=1,$A$6,WORKDAY($A$6,-1,Holidays)) でOKかどうか、試してみてください。

此処で Holidays は休日リストに付けた範囲名です。
第1金曜日の場合は保留としておきます。その理由を推理してみてください?(^_^)
    • good
    • 0

実際に関数を組むと面倒なので考え方だけで良いだろうか。



自分なら、前前週土曜日(※)から金曜日までの日にちを配列化して並べ、その日付に対して休日なら0を掛けて、出勤日なら1を掛け、
その配列の中で一番大きい日付を答えとして求める。
0を掛けられた日付は限りなく小さくなるから順列的に大きい値を求めればよいということになる。

難しければ作業用のセルを別のシートに設けて結果だけを表のシートに表示させればよい。
(なんなら作業用のシートは完成したら非表示にしてもよい)


※さすがに14日も連休なんてことなんてないからなあ。
    • good
    • 0
この回答へのお礼

銀鱗様

解答ありがとうございます。
そのやり方では私理解出来ませんでした、ごめんなさい!! 
だけどご丁寧に教えてくれってありがとうございます。

amassadinho
                              以上

お礼日時:2015/10/17 05:51

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