- ベストアンサー
WEEKDAY関数の戻り値について。
例えば A1に2006/02/12が入っていて A3に2006/02/13が入っていて A2が空欄のとき、 B列にWEEKDAY関数を入れるとA2に7が表記されます。 IFとネストにして表記されないようにできるのはわかりますが、なぜ7が返ってくるのかわかりません。 どうして土曜日を表す7が空欄にでてくるのでしょうか?教えてください。よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 関数が引数のシリアル値を 0 と見なしているからではないでしょうか? 0 の表示形式を日付に変換すると 1900/1/0 となり、1900/1/1 (日)の1日前です。 従って、7 (土)と表示されると推測できます。 でも、エラーとなった方がスッキリしますよね。
その他の回答 (5)
- mshr1962
- ベストアンサー率39% (7417/18945)
他の方の回答通りです。 試しに=A2とどこかのセルに入れてください。 結果として0が表示されます。さらにこのセルを日付の書式にすると1900/1/0と表示します。 これは日付上で1900年1月1日の1日前(1899年12月31日)となります。 この日の曜日が土曜日の為、7が表示されます。
お礼
今日の午後、初心者用のエクセルの授業をしたのですが、この説明だと「そういうことかー」納得できます。ありがとうございました。
- GreatDragon
- ベストアンサー率46% (186/402)
No4. の shikisaitoさんへ > ホントは、1900/01/01は日曜日ではなく、月曜日です。 素晴らしい!とても参考になりました。 MsgBox Weekday(#1/1/1900#)
- shikisaito
- ベストアンサー率52% (257/491)
ご参考まで。 ホントは、1900/01/01は日曜日ではなく、月曜日です。
お礼
補足、ありがとうございました。 参考のURLも勉強になりました。
- char_cat
- ベストアンサー率45% (22/48)
No1dです。 表記を間違えました。 シリアル値 1は1900/1/1=日曜日 7は1900/1/0=1日前の土曜日 です。訂正します。
- char_cat
- ベストアンサー率45% (22/48)
エクセルのシリアル値は1が1900/1/1を意味します。 1の一つ前が0ですね。日付にすると1900/1/0になりますが、1900/1/1がWEEKDAY関数で7になりますので、その1日前は0になるということです。 つまり空白は0の値に等しいので、このような結果になります。
お礼
最速で解答ありがとうございました。 補足コメントもありがとうございました。
お礼
わかりやすい解答ありがとうございました。 最後のひと言が、うれしかったです。