ツェラーの公式を知らなくても、誕生日の曜日が分かる方法

主人公が叫ぶ「よろしくお願いしまぁぁぁす!」のセリフが強い印象を残すサマーウォーズという映画。2009年に上映さえた映画ですが、地上波でも日テレ系列で2年に1度放送されています。今回はサマーウォーズにも登場するツェラーの公式を使った曜日の計算方法、Excelを使った1分でできる計算方法をシェアします。

サマーウォーズにツェラーの公式が登場するシーン

数学オリンピック代表候補という人物が主人公というだけあって、数学に関するシーンがしばしば登場します。作中で主人公のの健二くんが夏希先輩の誕生日を聞いて、曜日を暗算で求めるというシーンが登場します。

誕生日からどのように曜日を求めるかというと、ツェラーの公式という西暦の年月日から、その日が何曜日であるかを算出する公式があるんです。名前の通りツェラーさんが考えた公式です。

ツェラーの公式

出典:大人が学び直す数学
時代の先を行きすぎた仮想空間 Second Life
サマーウォーズは仮想世界が当たり前になった近未来という設定でしたが、2003年頃に少しブームになりかけたSecond Life(セカンドライフ)という仮想世界が広がった世界という印象を受けました。 Second Lifeは、トヨタ、ブックオフ、ミクシィといった企業が仮想空間に店舗やプロモーションブースを設けるだけではなく、大学が仮想空間にキャンパスを開設したりと、サマーウォーズの世界に通じるものがありました。なんだかんだで、高スペックPCが必要だったり、アバターのビジュアルがが日本人向けでなかったりと流行するための材料は少なかったです。日本人プレイヤーは少ないけれど、2019年でもまだ運営はされているみたいです。

単に曜日を求めたいだけなら、わざわざツェラーの公式を使って自分で計算する必要はないんです。Excelを立ち上げて1分もかけずに計算することができます。

ツェラーの公式を使ったExcel関数

ビジネスの標準ツールとして利用されているMicrosoftのExcel。オフィスワーカーの100%に近い人が使ったことがあるツールですよね。

このExcelで曜日を表示させるときに利用する「WEEKDAY関数」って使ったことがありますか? このWEEKDAY関数を使うとツェラーの公式のような面倒な計算は不要です。Excelが代わりに計算してくれます。もし使ったことがなければ、便利なので覚えておいてください。

WEEKDAY関数の使い方

  • =WEEKDAY(シリアル値,戻り値の種類)

シリアル値には、曜日を算出する元の日付を入力します。関数に日付を直接入力しても良いですが、一般的には日付が入力されたセルを指定することが多いと思います。関数に直接日付を入力するときはダブルコーテーション(”)で囲んでください。

Weekday関数の入力例
WEEDDAY関数の戻り値

WEEDDAY関数が返す結果には3種類があります。省略した場合は1が選択されます。

  1. 日曜日=1 ~ 土曜日=7
  2. 月曜日=1 ~ 日曜日=7
  3. 月曜日=0 ~ 土曜日=6

WEEKDAY関数の戻り値(数字)を曜日表示する方法

戻り値は数字なので、当然ながらセルには数字が表示されます。これを人間でも理解できるように曜日表示に変更します。変更方法は簡単。セルの書式設定を使えば良いんです。表示形式を「aaa」にすることで曜日表示されます。

Weekday関数の書式設定

他にもプラグラミング言語のperlで利用できるlocaltime関数やgmtime関数の配列文脈での返し値にも曜日が含まれています。これらの関数を使う事でも、指定した西暦の日付が何曜日なのかを求める事が可能です。

https://yukishi.com/wp-content/uploads/2019/10/face-005.png

システム的に計算する方法はいろいろあるけれど、ExcelのWeekday関数を利用する方法が、いちばん簡単だよ。

2 COMMENTS

ぶう

小学校時代、クイズで〇〇年〇月〇日は何曜日だったでしょうか?というのがあったのを思い出しました…小学生、この公式知らないわ…そして今の私、エクセルの関数わからない…

返信する
としゆき

ぶうさん。コメントありがとうございます。そんなクイズが流行ったんですね。流石に小学生でこの公式を使いこなしているとしたら怖いですね。エクセルの関数は必要とされた時に勉強すれば良いですよ。僕はどんな事でも必要となった際に必死に覚えて乗り切るというスタンスで生きています(笑)

いろんな事を理解しないといけない現代社会で、使うか使わないか分からないことに力を注ぐのは無理があります。もしぶうさんが、エクセルを学校や仕事で使っているなら、基本的な関数の使い方は理解した方が良いし、使わないなら関数を理解する必要なんてないですよ。

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA