毎週火曜日の日付がyyyy/MM/ddの形式で集計されています。
これを次の週の金曜の日付に修正したいのですが、どのように
したらいいでしょうか?
ポイントは以下の通りです
・集計された日付はアメリカ時間(東部標準時)である
・もし翌週金曜がアメリカの祝日にあたる場合、
それ以前の直近の平日の日付に自動的に修正する
解決策はVBAでもいいです。
手間のかからない方法をご存知でしたら是非教えてください。
宜しくお願いします。
DateAdd関数を使えば可能です。
たとえば変更したい箇所を選択して
for each oRange in Selection
oRange.value = DateAdd(”s”, 10, oRange.text)
next
とやれば、選択範囲のセルの日付が10日ずつ進みます。
http://www.relief.jp/itnote/archives/001105.php
Yahoo! JAPAN
Excelには祝日情報は入っていなさそうですね。ProjectやOutlookならあるような話も聞きますが……
なので、祝日リストは別途セルに入力されているものとして1つの案を書きます。
1) 1日後(水曜日)の日付を出します。単純に日付+1の計算です。
2) 同様に11日後(翌週土曜日)の日付を出します。
3) 1の日付(水曜日)から2の日付(土曜日)までの営業日を算出します。NETWORKDAYS関数を使います。このとき、関数の引数として祝日リストが入っているセル範囲を指定します。
4) 上で出した営業日日数から1を引きます。
5) 1で出した水曜の日付に、4で出した営業日日数を足します。WORKDAY関数を使います。
これで計算できると思います。言葉で書くとややこしいですが式は簡単です。ポイントは2つ。
・営業日の考え方を利用すること
・火曜日が休日だったケース、金曜日が休日だったケースを考慮するために、それぞれの翌日となる水曜日と土曜日の日付で計算すること
どうでしょうか。
※URLはWORKDAY関数の説明です。
やはりこうするしかないですよね。ありがとうございました。
問題はそこから先でして、10日後が祝日のときの修正をどうしたらいいのだろうかと思ったのです。予め祝日情報がエクセルに入っているのかな?だとしたらどういう風に呼び出すのかなという風に思った次第です。宜しくお願いします。