アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで、date関数を使用して起こった現象です。
A1セルに2002と入力
A2セルとA3セルは空白にして、
=date(a1,a2,a3)とします。
関数のあるセルにはユーザー定義でaaaとしておきます。
すると、「金」と表示されるのですが、これはなぜなのでしょうか。
お教え下さい。

A 回答 (3件)

どうして、2001年11月30日になるか ってことでしょうか?


ユーザ定義をaaaにされていると言うことは、曜日の表示形式だということは
分ってやっていらっしゃるのですよね。

A2とA3を空白にしているのにもかかわらず、金って出るのが不思議ってことですね。(違ってたらごめんなさい)

つまり、空白は0(ゼロ)と判断されますので、
2002年0月0日と言うことになります。もちろんそんな日付は存在しません。
しかし、A1に2002 B1に12 C1に1と入力して
date(a1,b1+1,c1)とすると、(+1と言うのは翌月をあらわしたいためです。)
普通に考えると2002年13月1日となりますが、表示されるのは
2003年1月1日(表示形式は日付)になると思います。

すなわち 0月と言うのは1月の前だから12月 0日と言うのは1日の前だから
30日または31日になります。ということは12月も11月になり
2001年11月30日なり2001年11月30日は金曜日なので、金
と表示されます。シリアル値の説明は#1の方の解答で分ると思います。
    • good
    • 0
この回答へのお礼

非常にわかりやすい解説で,納得できました.ありがとうございました.

お礼日時:2003/01/11 12:06

#2の方のご解答を裏らづける実験?をして見ましょう。


理解が進むでしょう。
(A列)(B列) (C列)   (D列)
200200H13.11.30
2002-1-1H13.10.30
2002-2-1H13.9.29
2002-3-3H13.8.28
100M33.11.30
1-1-1M33.10.30
以上のようにマイナス数字をいれても計算します。
日の列を-3とかいれても、可能です。
月では0は12の前、-1はそのまえの11のことです。
日では、0は実際の月末日の、-1はその前の日を示します。なんか実務で応用が考えられるかも知れませんね。
さすがに年まで-1にするとエラーになるようですが。
    • good
    • 0

これは関数を入れたところにシリアル値として、「37225」と入力され


「aaa」は曜日の月~日が表示されます、ちなみに「aaaa」とすると
金曜日と「曜日」まで表示されます。
これは、1900年を基準として、日数を連続値で計算されている為です。
貴方の場合2002年0月0日を連続値(シリアル値)に置き換わっている為です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!