|
こんにちは。
>datedif関数を使って処理に何日かかったか求めたいのですが、
「日数」だけであれば、DateDiff関数を使わなくても、2つの日付データを
単純に引算すれば、その間の「日数」になります。
VBAであれば、Integer型変数などで受け取れば良いでしょう。
ワークシート上であれば、引算の式を書き込んだだけでは、そのセルの
表示形式が"日付"になっているので[1900/?/?]のような表記になりますから、
式を書き込んだ後に表示形式を『標準』に直しておきましょう。
>その時土日祝日を除いて計算させたいのですが
基本は祝日一覧表をワークシート上に用意し、[ツール→アドイン]から
分析ツールにチェックを入れ、NETWORKDAYS関数を使います。
=NETWORKDAYS(日付1, 日付2, 祝日一覧表の範囲)
VBAでの利用なら、、[ツール→アドイン]から分析ツール(VBA)にチェックを入れ、
更にVBEの[ツール→参照設定]から
Excel97、2000の場合は「atpusrc1.xls (ATPVBAEN.xla )」
Excel2002の場合は「atpvbaen.xls (ATPVBAEN.xla )」
にチェックを入れると、VBA内でNETWORKDAYS関数が使えるようになります。
日数 = NETWORKDAYS(日付1,日付2,Range(祝日一覧表のセル範囲))
祝日一覧表は、
http://www.h3.dion.ne.jp/~sakatsu/holiday_topic.htm
から作れる一覧をコピペしても良いし
http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm#HolidayTool
にあるツールを使っても作れます。
----------------------------------------------------------
他には、フリーのアドインで
σ(^_^)の[kt関数アドイン/kt営業日数]
http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm
を使えば祝日一覧表を用意しなくても計算できます
|
|