[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『一ヶ月後の営業日』(リベンジ!)
A B 1 開始日 2010/12/06 2 支払日 毎月10日 3 初回 2010/12/06 月 4 第二回 5 第三回 6 第四回 7 第五回 8
初回月のみ開始日に支払い、翌月からは支払日に引き落とし、指定日が土日の場合は翌営業日に引き落とし
上記条件で第二回以降の支払日を確定させたい場合、どのように関数式を設定すればよいでしょうか? WORKDAYとEDATEで式を作ってみたのですが、うまくいきませんでした。 ご教授よろしくお願いします。
Windows 7 , Excel97
こんにちは。 >指定日が土日の場合は翌営業日 これについては、↓のような方法があります。
[R/C] [A] [B] [1] 12/4土 12/6月 [2] 12/5日 12/6月 [3] 12/6月 12/6月 [4] 12/7火 12/7火 [5] 12/8水 12/8水 [6] 12/9木 12/9木 [7] 12/10金 12/10金
B1 =WORKDAY(A1-1,1) →B1:B7フィルコピー (コタ)
コタさんありがとうございます。
単純に一ヶ月後なら =IF(B1="","",WORKDAY(EDATE(B1,1)-1,1)) でいけそうなんですが、二回目からは毎月日付部分を10日(土日の場合は翌営業日)で 出したい場合、スマートな方法はありますでしょうか?
ちなみに稚拙ながら考えたのは 初 回2010/12/6 B3=IF(B1="","",B1) 二回目2011/1/10 B4=WORKDAY(EDATE(DATE(YEAR(B1),MONTH(B1),CEILING(DAY(B1),"10")),1)-1,1) 三回目2011/2/10 B5=WORKDAY(EDATE(B4,1)+1,-1) 四回目2011/3/10 B6=WORKDAY(EDATE(B4,2)+1,-1) ですが、これだと●ヵ月後の部分を変えていくことになってしまうので不便だなぁと 思った次第です。
(リベンジ!)
>●ヵ月後の部分を変えていくことになってしまうので不便だなぁと なるべく同じ数式のほうが楽ですよね。 考え方としては、↓こんな感じで作ってみました。 ・毎月の支払日が必ずしも10日にならない→前月ではなく、開始日の年月をもとに作る ・「10」日や、第「二」回など、計算に使えそうな数字は、数値で入力する(見た目は表示形式で変更)
[R/C] [A] [B] [1] 開始日 2010/12/6 [2] 支払日 10 [3] 初回 2010/12/6月 [4] 2 2011/2/10木 [5] 3 2011/3/10木 [6] 4 2011/4/11月 [7] 5 2011/5/10火
B4 =IF(A4="","",WORKDAY(DATE(YEAR(B$1),MONTH(B$1)+A4,B$2)-1,1)) →B4:B7フィルコピー B2書式:"毎月"0"日" A4書式:[DBNum1]"第"0"回" (コタ)
衝突(^^ゞ
土日…とありますが、祝日は大丈夫なのでしょうか?
大丈夫なのであれば…B4セルに
=IF(COUNTA($B$3,A4)<2,"",WORKDAY(DATE(YEAR($B$3),MONTH($B$3)+(DAY($B$3)>10)+(ROW(A2)-1),9),1))
下方向へコピペ…
でもできそうです★ 祝日も入れるのであれば、祝日一覧を作成し、
=省略…DAY($B$3)>10)+(ROW(A2)-1),9),1,祝日一覧))
でいいと思います!!
ご参考まで♪
(MJ12)
MJ12さん、コタさん
なるほど、書式変更や行番号を柔軟に使えばいいんですね! どうにも頭が固まっていて、セルの中で処理しきろうといっぱいになってました・・・ 勉強になりました。 お二方ともありがとうございました。
(リベンジ!)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.