土日が稼働日だったり平日で休みが有ったりで一定の規則性がないわけですから例えばシート1にお求めの式を入力するとして、シート2にはデータベストなる表、カレンダー表示、を作ります。
シート2のA1セルには西暦年を2011のように入力します。
A2セルには次の式を入力して下方にオートフィルドラッグします。
=DATE(A$1,1,ROW(A1))
B2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(A2="","",TEXT(A2,"aaa"))
B列には曜日が表示されます。
C2セルから下方にはその日が出勤ならば出の文字を入力します。初めから出の文字をC2セルに入力して下方にオートフィルドラッグしておき休みなどの日にはその文字を消してもよいでしょう。
D2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(C2<>"出","",COUNTIF(C$2:C2,"出"))
これでデータベースとなる表が出来上がりました。
そこで例えばシート1のA1セルに日付を入力してその日からn稼働日後のnに当たる日数をB1セルに入力してC1セルにその答えとなる日付を表示させるとしたらC1セルには次の式を入力します。
=INDEX(Sheet2!A:A,MATCH(IF(VLOOKUP(A1,Sheet2!A:D,4,FALSE)="",MIN(INDEX(Sheet2!D:D,MATCH(A1,Sheet2!A:A,0)):Sheet2!D1000)-1,VLOOKUP(A1,Sheet2!A:D,4,FALSE))+B1,Sheet2!D:D,0))
上の式ではA1セルに入力した日が出勤日でない場合でも計算できるように工夫しています。
お礼
中身はほとんど分かってないのですが・・・・ 内容の通りやってみると、出来ました! 任意の日付けから数えられるのがすばらしいと思いました。 ありがとうございます。