• ベストアンサー

Excel 元旦の曜日

Wendy02の回答

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

こんにちは。 私の#5の回答は、不勉強なもので、間違えていました。 #6 のimogasiさんのご回答で気が付きました。 =MOD(年-1+INT((年-1)/4)-INT((年-1)/100)+INT((年-1)/400)+INT(177/5)+1,7)+1 でした。 それと、 [XL2002] WEEKDAY 関数で 1900 年 3 月 1 日より前の正しい曜日が返らない http://support.microsoft.com/default.aspx?scid=kb;ja;JP106339 ということです。 ツェラーの公式をVBAに直してみました。たぶん良いと思います。 1900年のDate 関数は別として、上記の数式との矛盾は発生していません。 '標準モジュール Function Zeller(ByVal Y As Integer, ByVal M As Integer, D As Integer) As Integer  If M = 1 Or M = 2 Then   Y = Y - 1   M = M + 12  End If   Zeller = (Y + Y \ 4 - Y \ 100 + Y \ 400 + (13 * M + 8) \ 5 + D) Mod 7 End Function ※数式は、 =Zeller(年,1 ,1 ) +1 としています。「年」の説明は、#5 の通りです。 ところで、ユリウス暦は、一旦、ユリウス暦の日付に変換する必要があるわけですね。ユリウス暦は、紀元前4713年1月1日 からということになりますが、それは、またいずれそういう質問もあるかもしれませんね。ヨーロッパでは、こういう計算は、歴史的に、古いようですね。

awazo
質問者

お礼

Wendy02さん ありがとうございました。

関連するQ&A

  • エクセル 曜日

    エクセルで曜日を表示する関数で悩んでいます。 =IF(ISBLANK(B1),"",DATE(2013,A1,B1)) こんなふうに入れたのですが、「41374」と表示されます。 A1には「4」、B1には「10」と入れたので、2013年4月10日の曜日、つまり「水」を表示させたかったのですが… 意味不明な数が出てきてしまいました。 別のシートでは、ちゃんと曜日が表示されているので、数式に誤りはないと思うのですが。 どうすればよいのでしょうか? 回答よろしくお願い致します。

  • 曜日の求め方

    (年 + ( 年 - 1 ) / 4 - ( 年 - 1 ) / 100 + ( 年 - 1 ) / 400 ) % 7; で、年の元旦の曜日を求められるんですが、 元旦以外の曜日を計算する方法はどの様にすればいいですか?

  • エクセルで曜日

    エクセルで日付けを入れた段階で 曜日まで表示させることはできますか? できれば 日付けを入れただけで、 曜日もはいるような形式にしたいのですが、 例:平成19年6月1日(金) すいませんがおしえてください。

  • エクセルで曜日を自動的に表示させたいです。

    よろしくお願いします。ややこしい質問ですが皆様の お知恵をお貸しいただきたいです。 1.A1に「2007」←年 2.B1に「1」←月 3.C1に「11」←日 以上のように入力したときにD1に曜日を表示させたいと思っています。表示形式は「月曜日」といった感じにしたいです。 どのような数式にしたらよろしいのでしょうか? また、D2・D3に指定した日の翌日、二日後の曜日を 表示させるときにD2・D3に入力すべき数式を教えていただきたいです。 さらに、可能であればD1に1月30日の曜日を表示させたとき D3は2月1日の曜日を表示すると思いますが、 月が変わるときは「表示しない」としたいです。 わがままな条件ばかりを羅列してしまいましたが、よろしくお願いします。 自分自身数式に関して無知な人間なので質問の難易度が解っていません、難しすぎたり簡単すぎたら申し訳ありません。

  • エクセルで(曜日)をあらわすには??

    エクセルで曜日を出すときに TODAY()を入れて ユーザー定義でaaaとするのはわかったのですが (金)とかという風に表示するのはどうしたらいいんですか?カッコの中に曜日を表示したいです。 教えてください。

  • excel 曜日表示

    EXCELで下記の説明から操作して年月日でーたから自動で曜日を表示させるようにしました。 結果 a1=2007年10月2日が a2=火でなければならないところ 月となりました。とりあえずは day(a1+1)で無理やり火と表示させたのですが、何が悪いのでしょうか。 よろしくお願いします。 (説明) ●表示形式を設定して曜日を表示する  日付に対応する曜日を表示する最も簡単な方法は、曜日の表示形式を設定することだ。曜日を表示したいセルに日付のシリアル値を入力あるいは参照して表示形式を表に示す記号を設定すればよい。 表『曜日の表示形式』  記号 表示スタイル  表示内容 ddd 英語の省略記号  Sun~Sat dddd 英語表記  Sunday~Saturday aaa 日本語の省略記号  日~土 aaaa 日本語表記  日曜日~土曜日 操作 通常は参照先のセルと同じ表示形式が自動設定されるが、参照式を入力するセルの表示形式がすでに設定変更されている場合は(2)のように自動設定されないが、続けて(3)以降の操作を行えば良い。 (1) 曜日を表示するセルに日付を参照する数式「=C12」を入力する (2) 参照先と同じ表示形式で値が表示される 操作 (1) 設定するセルを右クリックしてショートカットメニューを開く (2)[セルの書式設定]を選択する (3) セルの書式設定ダイアログボックスが開く (4)[表示形式]タブをクリックする (5)[ユーザー定義]をクリックする (6) 種類の欄をクリックして「aaa」を入力する (7)[OK]をクリックする (8) 曜日が表示される

  • エクセルの日付と曜日

    エクセル2003です セルに ○年○月○日○曜日と表示させるには ユーザー定義のところにどのように 入力すれば いいのでしょうか 教えてください

  • 曜日について

    今日の日付を自動入力するには、=TODAY()でいいとおもうのですが、曜日を自動入力で表示させるにはどういった数式を入れるといいでしょうか??

  • Excelで第一〇曜日を求める方法がわかりません

    初めて質問させていただきます。 Excelファイルで毎月お客様に送付状を作成しており、その送付状内に次月作業日程(何月何日何曜日)を載せて送付しております。 弊社は基本的に第1水曜日など曜日で定期日程を組んでいるお客様が多い状態です。 現在カレンダーと睨めっこしながら手入力しておりますが、自動表示したいです。 色々調べた結果 =DATE(YEAR(B2),MONTH(B2)+1,1)+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),2)+1 の数式を使うとできるようなのですが、この数式だと第一週の始まりが日曜日に限定されている?ようです。 例えば、今月2012年10月の送付状を作る時、来月の日程が第一土曜日の場合。 =DATE(YEAR(B2),MONTH(B2)+1,1)+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),2)+6 ※B2には2012/10/8と記入されている。 と入力すると、11月10日と第二土曜日が入力されてしまいます。 この部分を11月3日と表記されるように数式を入力したいのです。 何かいい方法はありませんでしょうか? 分かりにくい文章ですいません。宜しくお願いします。

  • エクセル関数を使って曜日表示

    エクセルのセル上に左から1~31まで数字を入力しています。 そのしたの行に、曜日を表示したいと思っています。 具体的には、○年○月というところに今の月を入力すれば、数字下のセルに曜日が表示されるものなんですが、関数をどのように使えばいいかわからなくて困ってます。 知っている方がいたら教えてください。