| 「中級・特別編トップへ」 | |
| 中 級 21 |
Excelの基礎■ |
| |
|
|
|
|
■WEEKDAY関数WEEKDAY関数は、シリアル値や日付文字列から曜日に対応する数値を求める関数です。この求められた数値から曜日を表示させたり、曜日の判定などに使ったりします。 書式で表すと、WEEKDAY(シリアル値,種類)となります。
◆使用例 1下図は、基本を理解するための例です。
引数の種類「1」は、省略することができます。
◆使用例 2この例は、ある商品の特売日(土日)の売上げ金額を求めたものです。WEEKDAY関数で曜日番号を求め、これを利用してSUMIF関数で集計しています。
SUMIF関数では、「>=5」を条件(すなはち、土日)にして、集計しています。
◆使用例 3WEEKDAY関数をTEXT関数にネストさせて曜日を求める方法が、市販マニュアル本などに紹介されています。しかし、この方法は、間違っているようです。
なぜこのような結果になるのでしょうか。指定数字「1」(あるいは省略)の場合は、正解が求められるので、これを使えばいいのでしょうか?(私は、そう思い込んでいました
^^;) ご存知のように、エクセルの日付計算は、1900/1/1を『1』として計算するシリアル値で管理されています。WEEKDAY関数で求められた曜日番号は、このシリアル値と認識されているようです。それを、表示形式で曜日に変換しているだけなのです。下図はそれを示すものです。
Excelの日付計算は、本来は存在しない1900/2/29が挟み込まれて成り立っています。従って、ワークシート上で1900/3/1より前の日付が絡む日数計算や曜日を求める場合には、ズレを調整するがあります。注意してください。 ここで、日付から曜日を求めるいくつかの方法を紹介しておきます。
(画像:Win XP&Excel2003) C5とC6は、WEEKDAY関数を使ったものですが、これは上記の理由により、間違った方法です。偶然の一致で正解が表示されているだけです。使わない方が賢明です。 |
■WORKDAY関数WORKDAY関数は、開始日から起算して、指定した稼動日数後(あるいは前)の日付(シリアル値)を求める関数です。稼働日数とは、土曜日と日曜日および指定した休日などを除く実働日のことです。 書式で表すと、WORKDAY(開始日,日数,祭日)となります。
◆使用例下図は、基本を理解するための簡単な例です。
(画像:Win XP&Excel2000) 参照先 2004/5/10(F6)は、会社の創立記念日で休業日であるという意味です。独自の休日であっても、引数で指定すれば除外対象にすることができます。
■NETWORKDAYS関数NETWORKDAYS関数は、開始日から終了日までの期間に含まれる稼動日数を求める関数です。稼働日数とは、土曜日と日曜日および指定した休日などを除く実働日のことです。 書式で表すと、NETWORKDAYS(開始日, 終了日, 祭日)となります。
◆使用例WORKDAY関数の例と比較してみてください。
(画像:Win XP&Excel2000) 図を見てわかるとおり、WORKDAY関数の逆を計算をしていることになります。この場合も、除外対象にならない日付が祭日の引数に含まれていても、自動的に判定し正しく計算されています。 |