人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel(表計算ソフトのエクセル)に関して質問です。


毎週火曜日の日付がyyyy/MM/ddの形式で集計されています。
これを次の週の金曜の日付に修正したいのですが、どのように
したらいいでしょうか?

ポイントは以下の通りです
・集計された日付はアメリカ時間(東部標準時)である
・もし翌週金曜がアメリカの祝日にあたる場合、
それ以前の直近の平日の日付に自動的に修正する

解決策はVBAでもいいです。
手間のかからない方法をご存知でしたら是非教えてください。
宜しくお願いします。

●質問者: expansion05
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:DD Excel MM VBA アメリカ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ku__ra__ge
●25ポイント

http://www.google.ne.jp/

Google

DateAdd関数を使えば可能です。

たとえば変更したい箇所を選択して

for each oRange in Selection

oRange.value = DateAdd(”s”, 10, oRange.text)

next

とやれば、選択範囲のセルの日付が10日ずつ進みます。

◎質問者からの返答

問題はそこから先でして、10日後が祝日のときの修正をどうしたらいいのだろうかと思ったのです。予め祝日情報がエクセルに入っているのかな?だとしたらどういう風に呼び出すのかなという風に思った次第です。宜しくお願いします。


2 ● ton-boo
●25ポイント

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関数の説明です。

◎質問者からの返答

やはりこうするしかないですよね。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ