• ベストアンサー

エクセルで#NUM!が出て困っています

みなさま、お世話になります。 MOD関数(この関数だけでは無いかもしれませんが・・・)分子に10桁以上を入れると、#NUM!エラーが出ます。詳細は以下のとおりです。よろしくお願いします。  NUM(100000000,7)→2  NUM(1000000000,7)→#NUM!

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

MOD関数はINT型を使っていますので、2億ぐらいまでしか計算できません。 なのでこそくな手段になりますが、以下のような方法で回避してはいかがでしょうか。 MOD(B2,C2) =B2-(TRUNC(B2/C2)*C2)

prin1024
質問者

お礼

早速のご回答ありがとうございます。 チェックデジットの計算で、どうしても11桁でなくてはならず困っていました。助かります!

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 余計なことかもしれませんが、チェックデジットで、11桁を7で割るというのは、どういうことなのか、ちょっと疑問に思いました。 種類によってウェイトがいくつか方法があるようですが、 サンプル: モジュラス10のウェイト3 A1: 490123456789 の場合(12桁) B1: =SUMPRODUCT(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)*{1;3;1;3;1;3;1;3;1;3;1;3}) 表示: 126 C1: =10-MOD(B1,10) チェックデジット:4 などとするかと思います。 {1;3;1;3;1;3;1;3;1;3;1;3} このウェイトの掛けかたが、それぞれ違うわけですね。 間違っていたら、無視して構いません。

prin1024
質問者

お礼

11桁の末尾にチェックデジットをつけてバーコード化し、リーダーで読む作業をしなければならず悩んでいました。ご回答ありがとうございます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 MOD(A,B) の INT(A/B) [商]が、&H7FFFFFF =134,217,727 までですね。 つまり、&H8000000 =134,217,728 になるとエラーになるわけですね。 [XL] MOD() 関数で #NUM! エラー値が返される

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;119083
prin1024
質問者

お礼

マイクロソフトのサポートにもあったのですね。 大変勉強になりました。

関連するQ&A

専門家に質問してみよう