Excel で剰余の条件を全て満たす自然数を求めます

[EX-18] Excel で剰余の条件を全て満たす自然数を求めます

 Excel を用いて、3 で割ると 1 余り、5 で割ると 2 余り、かつ 7 で割り切れるような 1000 以下の自然数の個数を求めてください。
 

問題 EX-18 のヒント

 論理関数を用います。
  

解決!フェルマーの最終定理―現代数論の軌跡

中古価格
¥858から
(2017/9/1 13:40時点)

解答 EX-17 (AND 関数とCOUNTIF関数を使います)

 たとえば、図のように A 列に 1 から 1000 までの自然数を並べます。

 3で割ると2余り、5で割ると1余り、7で割り切れる自然数

 B2、C2、D3 セルには

=MOD(A2,3)
=MOD(A2,5)
=MOD(A2,7)

というように入力して 1001 行まで数式をコピーします (A 列の数値を 3, 5, 7 で割った余りを計算させています)。セル E2 には 論理関数 AND を使って

=AND(B2=1,C2=2,D2=0)

と入力してセル E1001 までコピーして

 3 で割った余り (B 列の値) が 1
 5 で割った余り (C 列の値) が 2
 7 で割った余り (D 列の値) が 0

という条件を全て満たしている場合に TRUE(真)を返すようにします。そして COUNTIF関数を使って

=COUNTIF(E2:E1000,TRUE)

とすれば、E 列に表示された TRUE の総数をカウントして 10 という答えが得られます。
 

別解 EX-17 (IF 関数に AND 関数をネストします)

 あるいは IF 関数に AND 関数をネストする方法もあります。
 この場合はセル E2 に

=IF(AND(B2=1,C2=2,D2=0),1,0)

と入力すれば、AND 関数が TRUE である場合(すなわち問題の条件を全て満たす場合)に「 1 」、FALSE である場合に「 0 」という数値を返すことになるので、

=SUM(E2:E1000)

とすれば、E 列の数値を合計して 10 という答えを得られます。

 ≫ [問題19] 階段の上り方 ≫ Excel で解く数学問題集

スポンサーリンク
末尾広告
末尾広告

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください