★うめじ英語塾 お問い合わせフォーム★

-1を7で割った余りは?

-1を7で割った余りは?

うめじ英語塾の梅地哲郎です。

英語塾なのに、なぜ割り算?

実は、先日この割り算が必要になったのです。うめじ英語塾では無料体験授業も随時受け付けています。お申込のあった日から計算して、ご希望の曜日が次に来る日付を自動的に割り出すという Googleスプレッドシートの関数を書きたかったからです。

例えば、今日が2月17日の水曜日だと仮定しましょう(実際には2021年2月15日です)。体験授業をご希望の曜日が木曜日であれば、次の木曜日は2月18日です。ところが、ご希望の曜日が火曜日であれば、前日の2月16日ではなくて、次の週の2月23日にならないといけません。

アタリマエの計算ですが、コンピュータには「過去の日付に出会う約束はできない」というニンゲンの常識はありません。

まず、コンピュータが計算できるように、「月曜日を1、火曜日を2、水曜日を3、木曜日を4、金曜日を5、土曜日を6、日曜日を7」と決めてあげます。今回の例では、2月17日は水曜日なので3、希望日が木曜日であれば4。木曜日から水曜日を引くと、《4-3=1》。だから《2月17日+1日=2月18日》。

ところが、希望日が火曜日の場合、うまくいきません。2月17日は水曜日なので3、希望日が火曜日であれば2。火曜日から水曜日を引くと、《2-3=-1》。だから《2月17日-1日=2月16日》。前日になってしまいます。

ググってみると、1週間は7日なので、「7で割った余りを足すとエレガントだ」と書いてあるウェブサイトがありました。そのウェブサイトは「次に来る月曜日の日付を計算する」というものだったのですが、ここでMODという関数があることを発見しました。
参考ウェブサイト:google sheets – How to calculate the next Monday after a given date? – Web Applications Stack Exchange

MODという関数を使うと、割り算の余りを出してくれるそうです。例えば、セルに「=mod(10,4)」と入力すると「10を4で割った余り」という意味で「2」と表示されます。
参考ウェブサイト:MOD – Docs Editors Help

それでは、喫緊きっきんの課題である「火曜日から水曜日を引くと-1」を解決するために、-1を7で割った余りをMODという関数を使って求めてみました。セルに「=mod(-1,7)」と入力すると「-1を7で割った余り」という意味で「6」と表示されます。だから次の火曜日の計算は《2月17日+6日=2月23日》。メデタシメデタシ。

でも、-1を7で割った余りが6になる理由が全く理解できませんでした。そもそも「-1余る」って、余ってないじゃん(笑)。あれこれずーっと考えて、以下の数式で納得できました。

式1: 7×(-1)+6=-1

説明するとヤヤコシイので、類例で「10を7で割ると余りが3になる」を同様に数式で表すと

式2: 7×1+3=10    式2′: 10=7×1+3

つまり、「7に1を掛けて、3を足すと10」。左辺と右辺を入れ替えると、「10は、7が1回に余り3」。

式1: 7×(-1)+6=-1    式1′: -1=7×(-1)+6

つまり、「7に-1を掛けて、6を足すと-1」。左右を入れ替えて、「-1は、7が-1回に余り6」。

まとめると、「-1を7で割った余り」は「6」だと思います。うめじ英語塾は英語塾ですので、もちろん解答に保証はありません・・・・・(笑)。