はじめに
n進法虫食い算を作ることに挑戦しているため、n進法の九九を自動で出してくれる仕組みが必須だったのですが、簡単なプログラミングしかできないのでExcelで作ることにしました。
設計思想
以下のような順番で以下のようなものが出力されればいいな~と考えていました
- 任意の自然数を既定の位置に入力する
- その下にもともと用意されている表に掛け算結果を出力する
- なるべく出力する数が少なくなるようにしてほしい
結果
この時、$1\times 1$の欄に相当するB4では
=IF(B3<$B$1,IF($A4<$B$1,QUOTIENT(B3*$A4,$B$1)&-MOD(B3*$A4,$B$1),""),"")
のように入力されています。
まず、出力する数をなるべく減らし、結果を見やすくするために、掛ける数と掛けられる数の両方ともが入力値より小さくなるようにします。これがIF()とです。
重要になる九九表ですが、まず2つの数を掛けます。しかし、これでは10進法と変わりがないのでその値を入力した数で割り、その商を、そしてそのあまりを出させてつなげるだけです。簡単です。
個人的な趣味で2桁目と1桁目を半角ダッシュでつなげています。
配布
下のリンク先で配布しています。
ダウンロードしてお好きに使用してください。改変とか再配布とか自由ですが、自分が作ったと嘘を言って再配布することだけはやめてください。
そして、重さが気になるのと面倒な事が理由でnに入れられる数は今のところ最大101までになっています。それ以上拡張したい人は自由にやってください。