「ExcelのMod関数(割り算の余りを求める関数)を使うとエラーがでるんだよ」という相談を受け、問題のBookをもらって眺めてみたところ。
割られる数の桁が妙に多い。
「なんかそれって怪しいなー」と思って、試しに割られる数の桁を少なくすると、ちゃんとMod関数は機能する。どうやらMod関数では、割る数が1桁の場合、おおよそ9桁前後で#NUMエラーが出てくる模様。ウーム、と思ってMod関数の割られる数の上限を求めてググってみると、MSのサイトにちゃんと原因・解決法が書いてありました。
原因は、これ。
#NUM! エラーが返されるのは、以下の条件に該当する場合です。 (除数 ' * 134217728) が、数値' 以下です。
ここでいう数値'というのは、割られる数のコトですね。
たとえば1234567890 ÷ 7のケースを考えてみると、
7 × 134217728 = 939524096
割られる数1,234,567,890よりも939,524,096の方が小さいからアウト、というわけですな。
それじゃぁ桁数が大きいときに、MOD関数を使わずに余りを求めたいときはどうすりゃいいの?というのは簡単(上記のリンク先のヘルプにも書いてありますけど)。
1234567890 ÷ 7のケースで考えるならば、
1234567890 -(INT(1234567890/7)*7)
でOK。INT(1234567890/7)で商を求めて(INT関数で小数点以下を無視している)、除数で掛け算して、割る数から引けば、そりゃ余り。