エクセル実践塾 > エクセル実践塾2016

素数を探し出したい

 

配列数式を使えば、一つの数式で、素数か否かを判断できます

素数は、1を除けば、自身でしか割ることのできない自然数です。 つまり、1を除いた自然数で割ってみて、その自然数自身でしか割りきれないことが確認できたら、その自然数は素数ということになります。

このように、総当たりで除算を試し、その結果を確認したいようなときには、値の集合を扱うことのできる配列数式を使います。

割り切れるか否かの確認には、除算の余りを求められるMOD関数を使います。MOD関数の結果が0なら、割り切れたことになります。

割り切れる場合が1つしかなければ、その数値は素数ということになります。

 

配列数式は、Ctrl+Shift+Enterで確定します。確定した配列数式は、他のセルにコピーして利用できます。


Excel 2016/2013

 

@2と3以降の奇数を用意して、画面のような数式を入力します

1は素数ではなく、すべての偶数は自身の他に2で割り切れてしまうので、3以降の素数はすべて奇数となります。

MOD関数を使って、リストすべての数値(作例ではA1〜A50に入力されている数値)で、対象となる数値を除算して、その余りが0になるかどうかを確認します。

その論理式に1を掛けることで、SUM関数で合計を求められるようになります(SUM関数は論理値の合計を行えません)。

ACtrl+Shift+Enterキーで数式を確定すると、{}で囲まれた配列数式となります

2は2でしか割り切れないので、配列数式の結果は1になります。

B配列数式は、他のセルにコピーして使えます

配列数式の結果が1になるものが、素数です。

たとえば15は、3と5と自身で割り切れるので、配列数式の結果は3となり、素数でないことがわかります。

●配列数式と条件付き書式で、素数を見つけ出す方法を解説する動画です

素数は、1を除けば、自身でしか割ることのできない自然数です。

たとえば、2は、それぞれ1を除けば2でしか割ることのできない素数です。 3も同様です。

5も、1を除くと、5でしか割ることのできない素数の一つです。