螺旋を描いて…

螺旋 のごとく続く毎日を綴ります

MOD・関数の思い出・28…

通常、「=10/3」とすると、「3.333333333…」が答となります。

これを、「=MOD(10,3)」とすると、1が返ります。

そう、剰余、つまり「割り算の余り」を算出する関数です。

 

「MOD」は「Modulo」の略で、「モジュロ」とも言うそうです。

 

VBAではよく使う演算子で、数列の表にデータを書き込む際、場所を算出するのに使います。

例えば、1月、2月、3月と来て、次の段に4月、5月、…と続く、四半期ごとの表の場合、

横位置を、(月数-1)Mod3とすると、3月までは1ずつ増えて、4月になると0に戻り、以後繰り返し、という結果が得られます。

これに、1月の左位置を足し、枠が2セル以上なら、かけ算すればいいわけです。

 

ちなみに、縦位置は(月数-1)¥3という式を使います。

「¥」は整数除算で、小数を切り捨てます。

なので、3月までは0、4月になると1になり、1段下に書くことが出来ます。

 

Excelシートだと…

実はバーコードって、何らかの形で、剰余を使う場合が多いんです。

一例では、数字を全て足して、一定の数で割った余りを、最後の桁に付加する、というやり方を、よくします。

 

なので、MOD関数を使って、Excelシート上で、最後の桁を求める式を再現してやると、バーコードの作成が出来ます。

実際には、バーコードを作るのは、専用ソフトだったりしますが、そのためのデータファイルを、作れますね。

 

逆に、入力されたバーコードの検査も出来ます。

バーコードの下1桁と、計算により算出した下1桁が、合ってればOK!なわけですね。

 

ちなみに、Accessになると、入力装置から、本物のバーコードを読み取る仕組みが、用意されています。

Excel単独の場合は、テンキーかなんかで入力するしかありませんが、Accessがインストールされていると、Excel上でもバーコードを、扱うことが出来ますよ。

 

 

次は「CLEAN」です

kiha-gojusan-hyakusan.hatenablog.com

 

前は「SIGN」です

kiha-gojusan-hyakusan.hatenablog.com