主人公が叫ぶ「よろしくお願いしまぁぁぁす!」のセリフが強い印象を残すサマーウォーズという映画。2009年に上映さえた映画ですが、地上波でも日テレ系列で2年に1度放送されています。今回はサマーウォーズにも登場するツェラーの公式を使った曜日の計算方法、Excelを使った1分でできる計算方法をシェアします。
サマーウォーズにツェラーの公式が登場するシーン
数学オリンピック代表候補という人物が主人公というだけあって、数学に関するシーンがしばしば登場します。作中で主人公のの健二くんが夏希先輩の誕生日を聞いて、曜日を暗算で求めるというシーンが登場します。
誕生日からどのように曜日を求めるかというと、ツェラーの公式という西暦の年月日から、その日が何曜日であるかを算出する公式があるんです。名前の通りツェラーさんが考えた公式です。
単に曜日を求めたいだけなら、わざわざツェラーの公式を使って自分で計算する必要はないんです。Excelを立ち上げて1分もかけずに計算することができます。
ツェラーの公式を使ったExcel関数
ビジネスの標準ツールとして利用されているMicrosoftのExcel。オフィスワーカーの100%に近い人が使ったことがあるツールですよね。
このExcelで曜日を表示させるときに利用する「WEEKDAY関数」って使ったことがありますか? このWEEKDAY関数を使うとツェラーの公式のような面倒な計算は不要です。Excelが代わりに計算してくれます。もし使ったことがなければ、便利なので覚えておいてください。
- =WEEKDAY(シリアル値,戻り値の種類)
シリアル値には、曜日を算出する元の日付を入力します。関数に日付を直接入力しても良いですが、一般的には日付が入力されたセルを指定することが多いと思います。関数に直接日付を入力するときはダブルコーテーション(”)で囲んでください。
WEEDDAY関数が返す結果には3種類があります。省略した場合は1が選択されます。
- 日曜日=1 ~ 土曜日=7
- 月曜日=1 ~ 日曜日=7
- 月曜日=0 ~ 土曜日=6
戻り値は数字なので、当然ながらセルには数字が表示されます。これを人間でも理解できるように曜日表示に変更します。変更方法は簡単。セルの書式設定を使えば良いんです。表示形式を「aaa」にすることで曜日が表示されます。
他にもプラグラミング言語のperlで利用できるlocaltime関数やgmtime関数の配列文脈での返し値にも曜日が含まれています。これらの関数を使う事でも、指定した西暦の日付が何曜日なのかを求める事が可能です。
システム的に計算する方法はいろいろあるけれど、ExcelのWeekday関数を利用する方法が、いちばん簡単だよ。
小学校時代、クイズで〇〇年〇月〇日は何曜日だったでしょうか?というのがあったのを思い出しました…小学生、この公式知らないわ…そして今の私、エクセルの関数わからない…
ぶうさん。コメントありがとうございます。そんなクイズが流行ったんですね。流石に小学生でこの公式を使いこなしているとしたら怖いですね。エクセルの関数は必要とされた時に勉強すれば良いですよ。僕はどんな事でも必要となった際に必死に覚えて乗り切るというスタンスで生きています(笑)
いろんな事を理解しないといけない現代社会で、使うか使わないか分からないことに力を注ぐのは無理があります。もしぶうさんが、エクセルを学校や仕事で使っているなら、基本的な関数の使い方は理解した方が良いし、使わないなら関数を理解する必要なんてないですよ。