【最大10000ポイント】当たる!!質問投稿キャンペーン!

月末が休日の場合、末日を入力すると銀行の次営業日または前営業日が表示されるようにしたいと思っています。

自分では土曜の場合とか日曜の場合とか、一日ずつでしか設定できずに困っています。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

A1に日付を入れたとしてどこかのセルに下記の関数をいれ、セルの書式設定を日付にします。



土日なら金曜
=CHOOSE(WEEKDAY(A1,2),A1,A1,A1,A1,A1,A1-1,A1-2)

土日なら月曜
=CHOOSE(WEEKDAY(A1,2),A1,A1,A1,A1,A1,A1+2,A1+1)

意味が違うかな?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

その通りの意味です!分かってうれしいです。
さっそく使わせていただこうと思います。

お礼日時:2003/11/01 22:17

参考までにWEB照会で「kt関数」(アドイン)を出してみて


解説などを読んで見てください。結構大変な処理であるようです。
月末前営業日にしても、月末が土日であれば金曜を出せば良いような単純なものではないのでは?
例えば12月は銀行休業日は特別な処理が必要です。
http://www.loadsystem.net/excel/BankCalAddin.htm
各銀行とも今年来年などの日々のカレンダーを持って、(誤ったら大問題になるので)オペレーション部門が真剣に休日のメンテやチェックしているはずです。
ロジックによる判別方式より、テーブルを引く方式になるでしょう。
その辺ある程度で妥協するなら、EOMONTH、WEEKDAYなどを使うことになるでしょう。
参考までに、月末日は月数を+1した1日のマイナス1日で出ます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

未熟者なのでアドインなどはよく分からないのです。すみません。
銀行休業日に対応する式があればいいナ~と単純に思っていましたが、
やっぱり難しいですね。
自分でチェックもしつつ資料作成しようと思います。
ありがとうございました。

お礼日時:2003/11/01 22:31

次の式では、今月の月末が土曜か日曜の場合、翌月の第1月曜の日付を表示し、平日の場合は当月の末日を表示します。



=IF(WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1,3)=5,DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)+1,IF(WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1,3)=6,DATE(YEAR(TODAY()),MONTH(TODAY())+1,1),DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1))

次の式では、今月の月末が土曜か日曜の場合、当月の最終金曜の日付を表示し、平日の場合は当月の末日を表示します。

=IF(WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1,3)=5,DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-2,IF(WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1,3)=6,DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-3,DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1))

今日が月末かどうかの判定は、以下の式で可能です。
=IF(DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1=TODAY(),"今日は末日","今日は末日でない")

複雑な式になりますが、上記の3つの式を組み合わせると、目的が達成出来ると思います。

なお、祭日を加味して判定したい、年末年始やGWも判定したい場合、祭日判定は非常に複雑なので、マクロを組むか、VBで書く必要があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

わわ、すごい式ですね。w( ̄△ ̄;)w
便利そうですが、今回の作成資料には使わなくて済みそうです。
今後の仕事の参考にさせていただきます。

やっぱり祭日が入ると難しいようですね。
式を入れつつ祭日は自分でチェックしていこうと思います。
ありがとうございました。

お礼日時:2003/11/01 22:23

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q基準日が休日などの場合の翌営業日を求める方法!

ある日から14日間後を基準日として、その基準日が土、日、祝祭日の場合は、15日目が土、日、祝日分の日数をプラスした営業日まで延長される計算式を教えてください。営業日は、土、日、祝祭日以外です。

(例えばある日が1月28日の場合は、14日目が2月11日にあたるので、翌営業日が2月13日になるという感じです。)毎年、祝祭日が変わるし複雑でわかりません。
何かいい関数などがあれば教えてください。

Aベストアンサー

#1です。
そうですね。こちらもうっかりしてました。
そうであれば、式は煩雑になりますが、A列にA1から日付を入れるとして、C列に休日リスト(土・日+祭日)を作っておいて、B列に基準日を、
1)「ある日+14日」が休日リストにあれば、2)へ。そうでなければ「ある日+14日」
2)「ある日+15日」が休日リストにあれば、3)へ。そうでなければ「ある日+15日」
3)「ある日+16日」が休日リストにあれば、4)へ。そうでなければ「ある日+16日」
4)「ある日+17日」が休日リストにあれば、5)へ。そうでなければ「ある日+17日」
5)「ある日+18日」が休日リストにあれば、「ある日+19日」。そうでなければ「ある日+18日」
(通常であれば最大の連休は5月3~5日を含めた5連休ですので、5)までとします)
とするような式を入れれば、一応お尋ねの結果は得られます。

その際B1に入れる式は、例えば、
=IF(ISERROR(MATCH(A1+14,C:C,0))<>TRUE,IF(ISERROR(MATCH(A1+15,C:C,0))<>TRUE,IF(ISERROR(MATCH(A1+16,C:C,0))<>TRUE,IF(ISERROR(MATCH(A1+17,C:C,0))<>TRUE,IF(ISERROR(MATCH(A1+18,C:C,0))<>TRUE,A1+19,A1+18),A1+17),A1+16),A1+15),A1+14)
などとなります。
休日リストは一列でないといけないので、C1から振替休日も含めて余分に祝日欄を設けておいて、その下に土日だけ計算式(例えば2004/1/3(土曜)をC31に入れてC32に=C1+1、C33に=C1+7、C34に=C2+7と入れて、C33、C34をずっと何年か先まで下方にコピーするなど)で入れるようにしたら良いと思います。(長くなりますので実際はC列でなく別シートにした方がいいかも知れません)

もう少しスマートな方法があるような気もしますが、一応参考までに。

#1です。
そうですね。こちらもうっかりしてました。
そうであれば、式は煩雑になりますが、A列にA1から日付を入れるとして、C列に休日リスト(土・日+祭日)を作っておいて、B列に基準日を、
1)「ある日+14日」が休日リストにあれば、2)へ。そうでなければ「ある日+14日」
2)「ある日+15日」が休日リストにあれば、3)へ。そうでなければ「ある日+15日」
3)「ある日+16日」が休日リストにあれば、4)へ。そうでなければ「ある日+16日」
4)「ある日+17日」が休日リストにあれば、5)へ。そうで...続きを読む

Q祝日を加味した、前日を表示する関数

土曜・日曜・祝日を加味した前営業日と前々営業日を表示させる関数を各々教えていただけないでしょうか?

例  今日が2009年3月23日   ⇒  前営業日 2009年3月19日
                  前々営業日 2009年3月18日


どうぞ宜しくお願い致します。
   

Aベストアンサー

あせる気持ちはわかりますが、
よーーく見てください。
カンマがありません。

=WORKDAY(TODAY(),-1,$J$7:$J$22)
に修正してください。

WORKDAY(基準日,日数,祝日リスト)

QExcel 2ヶ月後の日付(土日祝日の場合は、直後の平日)

Excel2007
指定日から1ヶ月後の日付(土日祝日の場合は、直後の平日)の出し方を教えてください。

WORKDAY関数では、できないのです。

よろしくお願いします。

Aベストアンサー

こんばんは!
WORKDAY関数とEDATE関数を併用すれば可能だと思います

↓の画像で今年と来年の祝日のデータがF2~G24セルに入っています。

B2セルに
=IF(A2="","",WORKDAY(EDATE(A2,1)-1,1,F2:G24))
(指定日より1か月後の1日前から、1営業日後を表示しています)

という数式を入れれば、指定日の1か月後(もし土日・祝日に当たれば、その後の最初の平日)が表示されると思います。

以上、参考になれば幸いです。m(__)m

Qエクセルで日付の入力で、土日祝を自動的に抜いて、営業日だけ表示したい

 経理の仕事で、営業日だけの入力を一括で表示できる方法はないでしょうか?
こんな感じです......。
 1月5日
 1月6日
 1月7日
 1月11日
つまり、土日と祭日を抜いた表示を自動一括表示したいのです。わざわざカレンダーとにらめっこしなくても、エクセルはおりこうさんだから、できてもいいのではないか?と思うのですが、ヘルプで質問しても、満足のいく回答がなかったので、何卒よろしくお願いいたします。 

Aベストアンサー

No.2です。

ちょっと補足。
祝日一覧には、本当の祝祭日に限らず営業日から省きたい任意の日付を入れても構いません。
(会社の創立記念日や夏季・冬季休暇など)
逆に振替休日などはちゃんと入れておく必要があります。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで銀行の毎月の返済日を土日祭日を除く方法を・・・

エクセルで毎月の返済日が、土日祭日の場合翌営業日が返済日となるが、これを関数を利用して表示されるようにしたい。

例えば、毎月25日の場合、今年の11月25日は日曜日のため翌日の26日に。。。
末日返済の場合には9月であれば翌営業日の10月1日になります。

エクセルで=EDATE関数 あるいはEOMANTH関数を利用して返済日を表示していますが、前述のように翌営業日になる場合、or翌月になる場合の関数の式がよく分かりませんが、分かる方、どなたかよろしくお願いします。。。。。  <m(__)m>

Aベストアンサー

#01です。毎月同日は25日ではなく15日なのですか?
私のPCで計算した結果です。祝日テーブルを絶対参照に改めました。
A列の年月は日付形式で入力し、書式で yyyy/m にしています。
A列    B列        C列        F列
2007/9  2007/9/18    2007/10/1    2007/9/17
2007/10  2007/10/15   2007/10/31   2007/9/24
2007/11  2007/11/15   2007/11/30   2007/10/8
2007/12  2007/12/17   2008/1/4    2007/11/3
2008/1  2008/1/15    2008/1/31    2007/11/23
2008/2  2008/2/15    2008/2/29    2007/12/23
                           2007/12/29
                           2007/12/30
                           2007/12/31
                           2008/1/1
                           2008/1/2
                           2008/1/3
                           2008/1/14
                           2008/2/11
B1セルの式
=WORKDAY(WORKDAY(DATE(YEAR(A1),MONTH(A1),15),-1,$F$1:$F$14),1,$F$1:$F$14)

C1セルの式
=WORKDAY(WORKDAY(DATE(YEAR(A1),MONTH(A1)+1,0),-1,$F$1:$F$14),1,$F$1:$F$14)

#01です。毎月同日は25日ではなく15日なのですか?
私のPCで計算した結果です。祝日テーブルを絶対参照に改めました。
A列の年月は日付形式で入力し、書式で yyyy/m にしています。
A列    B列        C列        F列
2007/9  2007/9/18    2007/10/1    2007/9/17
2007/10  2007/10/15   2007/10/31   2007/9/24
2007/11  2007/11/15   2007/11/30   2007/10/8
2007/12  2007/12/17   2008/1/4    2007/11/3
2008/1  2008/1/15  ...続きを読む

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

QExcelによる土日と祝祭日の算出関数

役所でExcelを人並みに使っていると思いますが,最近になって色々と関数を駆使しようと思いついたのが,Excelによる土日と祝祭日の算出関数です。色々と試みてみたのですが,全く×です。セルに対してどのようにすればいいのかヨロシクご教授ください。

Aベストアンサー

>Excelによる土日と祝祭日の算出関数です
質問の意味が2つに取れる(算出?)
(1)ある日を考えて土か日か祝日か判定する場合
   =WEEKDAY("2004/12/15")か=WEEKDAY(A1)のように
  聞いて
   土  7
   日  1
  かどうかで判る。コードの表現種類に他2種類ありま  す。
  祝日は各国固有で日本は年により移動するので、関数
  がなく、関数では判定できない。ユーザー関数を作る
  よりほかない。万年向けのものは難しそう。
(2)ある期間を考えて、土日祝日を除いて、それ以外が
  何日あるかを算出する関数
   NETWORKDAYS関数があります。
   NET(正味の)のWORKDAYの意味でNET   WORKのDAYではない。最後のSを落とさない   ように。
  ただし祝祭日は関数内に手入力で指定する。
  例えば=NETWORKDAYS("2004/12/15","2004/12/25",{"2004/12/23"})で7と出ました。
土日と祝祭日と重なっていてもOK。
「アドイン」関数なので、エラーが出る場合は組みこむ必要があります。
あとWORKDAY、DATEDIFを使えれば、日付関係はほぼ全てでしょう。

  
  

>Excelによる土日と祝祭日の算出関数です
質問の意味が2つに取れる(算出?)
(1)ある日を考えて土か日か祝日か判定する場合
   =WEEKDAY("2004/12/15")か=WEEKDAY(A1)のように
  聞いて
   土  7
   日  1
  かどうかで判る。コードの表現種類に他2種類ありま  す。
  祝日は各国固有で日本は年により移動するので、関数
  がなく、関数では判定できない。ユーザー関数を作る
  よりほかない。万年向けのものは難しそう。
(2)ある期間を考えて、土日祝日を除いて...続きを読む

Qセル番号を返す関数

エクセルで、セル番号を返す関数はありますか??
セルの内容ではなくて、番号です。(A1、B3など)
調べてみましたがなかなか見つからなかったので、
わかる方教えてください。
宜しくお願い致します。

Aベストアンサー

文字として"C4"を返す。
=ADDRESS(ROW(C4),COLUMN(C4),4)

式を入力したセルの位置を文字列で返す。
=ADDRESS(ROW(),COLUMN(),4)

ADDRESSの3つ目の引数を変えると
$C$4
$C4
C$4
C4
の4つの形に出来ます。

Qエクセル 関数 当月月末の直前営業日を日付で表示

関連の関数で下記までは調べられました。

月末の日付を表示  =EOMONTH(TODAY(),0)
土日祝を除く直前の営業日を表示 =WORKDAY(today(),+1,$D$1:$D$18)

当月月末で直前営業日を日付で表示したい場合の方法
どうぞよろしくお願いします。

Aベストアンサー

興味がある内容でしたので既に回答されているお二方の意見を参考に色々と確かめていておかしな点を発見しましたのでご報告まで。
(ひょっとしたら当然の内容なのかもしれませんが)

「直前営業日」を額面どおり月末日より前(月末日は含まない)営業日と捉えるのか、最終営業日と捉えるのかで式が変わってきてしまう。

ANo2さんの情報をもとに =WORKDAY(EOMONTH(TODAY(), 0), -1, $D$1:$D$18)
とすると、ANo2さんの回答どおり6/27が返る。

ここで、ANo1さんの言われている月末日も含めた「最終営業日」を求めようと
=WORKDAY(EOMONTH(TODAY(), 0), 0, $D$1:$D$18)
とすると6/30が返る。

これは一見正しいのだが、テストとして$D$1:$D$18の祭日リストに6/30を入れても、祝日をカウントせず6/30を返してしまう。
そこで =WORKDAY(EOMONTH(TODAY(), 0) + 1, -1, $D$1:$D$18) とすると
きちんと6/27日を返すようになる。

どうもWORKDAY関数は開始日当日を含める場合は日数に0を指定するのではなく、翌日から1日前(もしくは前日から1日後)としなければいけないようです。

興味がある内容でしたので既に回答されているお二方の意見を参考に色々と確かめていておかしな点を発見しましたのでご報告まで。
(ひょっとしたら当然の内容なのかもしれませんが)

「直前営業日」を額面どおり月末日より前(月末日は含まない)営業日と捉えるのか、最終営業日と捉えるのかで式が変わってきてしまう。

ANo2さんの情報をもとに =WORKDAY(EOMONTH(TODAY(), 0), -1, $D$1:$D$18)
とすると、ANo2さんの回答どおり6/27が返る。

ここで、ANo1さんの言われている月末日も含めた「最終営業日...続きを読む


人気Q&Aランキング