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

給与支払日の表を作りたいです。

基準日を25日とし、会社の休日及び、土日祝が25日の場合、
繰り上げて日付を表示させたいです。

関数を教えてください。
=WORKDAY(DATE($A$7,$B$7,$B$8,-1,Sheet3!A1:A303)ではうまくいきませんでした。
Sheet3=祝日リスト

A7セルに年を入力している場合とあったのですが、年をどう入力すればいいのかわかりません。

またまったく違う関数でもよいです。

よろしくお願いします。

A 回答 (3件)

こんばんは!



A7セルに「2016」のように西暦年
B7セルに「12」のように月
をそれぞれ入力するようになっていて、B8セルは「25」と決まっている訳ですね?

WORKDAY関数の考え方として、繰り上げる場合は
「開始日」を「基準日」の1日後とし、その1実働日前!とするのが間違いないと思います。

=WORKDAY(DATE($A$7,$B$7,$B$8)+1,-1,Sheet3!$A$1:$A$303)
または「基準日」が25日と決まっているのであれば
=WORKDAY(DATE($A$7,$B$7,26),-1,Sheet3!$A$1:$A$303)

としたらどうなりますか?m(_ _)m
    • good
    • 0
この回答へのお礼

ちゃんとできました!!
Excel初心者なので助かりました!ありがとうございました!!

お礼日時:2016/12/20 11:35

No.1の回答者です。

前の回答にて間違っていると指摘しておきながら、
私自身の回答も間違いがありましたね。

No.2の回答者さんが書いているように、基準日の1日後にしておいて、
そこから繰り上げしないと25日を含めることにならないですよね。
そのため書き方の問題だけを指摘するための回答になっていました。

また、後半に書いた数式の一部にも間違いがありましたね。
 =WORKDAY(DATE($A$7,$B$7,$B$8)-1,Sheet3!A1:A303)

 =WORKDAY(DATE(2016,12,25)-1,祝日リスト)
では、-1の前に必要なカンマが抜けていました。

質問の数式をコピーしながら回答しているうちに、大事な部分が抜けて
いたことに気が付かないで投稿してしまいました。1日後を追加する件と
合わせて数式として成り立たないものを提示してすいませんでした。

No.2の回答者さんが提示している数式が正しいものなので、私のものは
参考にもならないと思いますので無視してくださって結構です。
適当な回答をしてしまったことに改めてお詫び申し上げます。
    • good
    • 0

> =WORKDAY(DATE($A$7,$B$7,$B$8,-1,Sheet3!A1:A303)


基本部分で間違っていますよ。

基本的に、
 =DATE($A$7,$B$7,$B$8)
で指定セルにある年と月と日を示す数値を参照し、日付のシリアル値に
変更しています。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …

これを使って
 =WORKDAY(指定した年月日のシリアル値,-1,祝日リスト)
で休日や祝日などを除く指定日よりも前の繰り上げ日を出しています。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
http://excel.onushi.com/function/workday.htm

ですから
 =WORKDAY(DATE($A$7,$B$7,$B$8)-1,Sheet3!A1:A303)
になります。
DATE関数が参照しているA7セルは年の数値、B7が月、B8を給料日で
ある25日を参照することになります。
このことから、A7セルに2016、B7セルに12、B8セルに25を入力します。

なので、今月なら
 =WORKDAY(DATE(2016,12,25)-1,祝日リスト)
でも同じ結果になります。

給与支払日の表をどのように作りたいのかによって、用意するセルが
違っていきますから、具体的な表の配置などを提示してはいかが。
    • good
    • 0

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