仕事の関係で、江戸時代や明治時代に使われていた距離の単位である「里」や「町」の計算をする機会があった。活用したのはもちろんExcelである。本日はどのような方法で計算したのかを紹介したいと思う。

宿場間の距離を計算する

 まず下図を見てもらいたい。こちらは中山道の中津川宿から須原宿まで6宿間の距離を「里」と「町」で示したものだ。では、中津川宿から須原宿までの総合計距離は何里何町になるだろうか?

中山道の中津川宿から須原宿までの6宿間の距離を「里」と「町」で示した。1里は36町に相当する
中山道の中津川宿から須原宿までの6宿間の距離を「里」と「町」で示した。1里は36町に相当する
[画像のクリックで拡大表示]

 面倒なのは町から里への繰り上がり計算だろう。というのも1里は36町で十進数ではない。そのため「町」の計算では、36町ごとに1里繰り上がらなければならない。ここではB9:C9に一発で合計距離を計算するのではなく、中間セルを作り、段階を踏んで合計距離を算出したい。

 まず、B列の「里」の計算だ。こちらは単純合計で問題ない。中間セルのD8に「=SUM(B3:B8)」とすればよい。続いてC列の「町」だが、こちらも中間セルのE8に「=SUM(C3:C8)」と置いて単純合計を算出する。これで下図のような表が出来上がった。

「里」と「町」の単純合計を計算した。「町」の値はさらに「○里○町」に換算しなければならない
「里」と「町」の単純合計を計算した。「町」の値はさらに「○里○町」に換算しなければならない
[画像のクリックで拡大表示]

 問題はE8に算出した「町」の合計である「89」だ。この89町を「○里○町」に換算しなければならない。まず、里については、89を36で割ったときの除を求めればよい。ただし小数点以下の値は不必要だ。整数部分が「里」となり、割り切れない余りの値が「町」となるからだ。この場合、INT関数を使えば小数点以下の値を削除でき、整数部分の値のみが得られる。

INT関数 数学/三角関数

=INT(数値)

 指定した数値を超えない最大の整数を返す。

 数値 切り捨てて整数にする実数を指定する。

 では、D9に「=INT(E8/36)」と数式を置く。これはE8の「89」町を36町で割る、という意味だ。INT関数により小数点以下は削除されるから、D9には「2」が返る。

「89」町を36町で割り算した除の整数部分を計算した。INT関数を用いた結果は「2」となった
「89」町を36町で割り算した除の整数部分を計算した。INT関数を用いた結果は「2」となった
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。