• ベストアンサー

関数を教えてください。

万年カレンダーを作ろうと思います。C2に西暦 F2に月 ここからカレンダー表を作ります。B4~H4に日~土 を入力した時、B5に関数式『(=DATE(C2,F2,1)-(WEEKDAY(DATE(C2,F2,1))-1)』と入力しました。カレンダーは無事できたのですが、関数の説明がいまいち理解できません。明日、発表するのですが、質問をされると??です。教えてくださいー。お願いいたします。胃がいたいです。特に最後の『ー1』は何ですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

=DATE(C2,F2,1)-(WEEKDAY(DATE(C2,F2,1))-1)) 2005年9月のカレンダーを作るとして、 これの意味をひとつひとつ考えてみましょう。 ●DATE(C2,F2,1)  C2に2005、F2に9が入ります。最後は定数で1が入っています。  ということは、この式は「2005/9/1」を表します。  ほかの月の場合でも、その月の1日を表す式ですね。  さて、今年の9月1日は、木曜日です。  B5は日曜日の場所ですよね。  日曜日は木曜日の4日前です。  したがって、4日分を前に戻して、8月28日にしなければ  なりません。それを補正するのが後の式です。 ●-(WEEKDAY(DATE(C2,F2,1))-1)  Weekday関数は、日曜日=1、月曜日=2・・・土曜日=7を  返す関数です。  2005/9/1は木曜日ですから、5を返します。  先ほど、木曜から日曜日を見た4日前には一つ多すぎます。  そこで、5から1を引いて4に合わせるんですね。 ●なぜ1か?  この式のツボは、日曜日は9/1の何日前かを知ることです。  (WEEKDAY(DATE(C2,F2,1))-1)は言い換えると、  (9/1の曜日)-(日曜日)  ということです。  WEEKDAY関数は日曜日に1を返します。

takapi30
質問者

補足

よく理解できました。とっても助かりました。それと、もうひとつ質問があるのですが、発表の際、プロジェクターを使うのですが、ポインターの↑とかをマーカーペンのように変えて説明することはできますか?よく先生が使っているのですが・・。厚かましくて申し訳ございません。

その他の回答 (2)

回答No.3

#1です。補足を読みました。 おわかりいただき何よりです。  さて、もう一つのご質問の件ですが、残念ながら 私にはわかりかねます。この質問と内容もだいぶ 違いますので、新たに質問なさった方がよろしいかと 思います。その方が、明確な回答がもらえる可能性が 高いと思いますよ。  その際は、使用するソフト(パワーポイントなのか、 ブラウザなのか、特定のソフトではなく全般なのか) などを明記されるとよいでしょう。 さしでがましいようですが、アドバイスまで。

takapi30
質問者

お礼

本当にありがとうございました。発表も無事に終わりました。助かりました。適切なご指導ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >=DATE(C2,F2,1)-(WEEKDAY(DATE(C2,F2,1))-1) >特に最後の『ー1』は何ですか? それは、月の1日(ついたち)のことですね。 カレンダーを作る時に、左上端の日曜日の欄に入る日付は、 その月の1日の曜日の数を引けば、月曜日なら、2 火曜日なら、3が入ってしまうので、1日(ついたち)の分の数を除いてやるわけです。

関連するQ&A

専門家に質問してみよう