メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelで2つの指定された数値間のすべての素数を生成するにはどうすればよいですか?

Author Xiaoyang Last modified

Excelで、2つの指定された数値間のすべての素数をリストアップしようとしたことはありますか?この記事では、このタスクに対処するための興味深い方法について説明します。

数式を使用して2つの指定された数値間のすべての素数を生成する

ユーザー定義関数を使用して2つの指定された数値間のすべての素数を生成する


arrow blue right bubble 数式を使用して2つの指定された数値間のすべての素数を生成する

名前の定義機能と数式を組み合わせることで、2つの特定の数値間のすべての素数をリストまたは生成できます。以下のように操作してください:

1. 数式名前管理をクリックして最初の範囲名を作成し、名前管理ダイアログボックスで「新規」ボタンをクリックしてください。スクリーンショットをご覧ください:

create a range name

2. 新しい名前ダイアログボックスで、名前テキストボックスに rngという範囲名を入力し、その後、この数式を 参照先テキストボックスに入力します:=ROW(INDIRECT(Sheet1!$B$1&":"&Sheet1!$B$2))Sheet1は使用している現在のワークシートであり、B1およびB2は指定した開始番号と終了番号です)。次に「OK」ボタンをクリックして元のダイアログに戻ります。スクリーンショットをご覧ください:

set options in New Name dialog box

3. 「新規」ボタンを続けてクリックして別の範囲名を作成します。新しい名前ダイアログボックスで、名前テキストボックスにprimeという名前を入力し、その後、この数式を参照先テキストボックスに入力します:=SMALL(IF(MMULT(--(IF(rng>TRANSPOSE(rng-Sheet1!$B$1+2),MOD(rng,(rng>TRANSPOSE(rng-Sheet1!$B$1+2))*TRANSPOSE(rng-Sheet1!$B$1+2)))=0),rng-Sheet1!$B$1+2)=0,rng),ROW(INDIRECT("1:"&Sheet1!$B$2)))rngはステップ2で作成した最初の範囲名です)。スクリーンショットをご覧ください:

create another range name

4. その後、「OK」をクリックしてダイアログを閉じ、素数をすべてリストしたい列を選択し、この数式を数式バーに入力します:=IFERROR(prime," ")primeはステップ3で作成した範囲名です)。そして、CTRL + SHIFT + ENTERキーを同時に押すと、指定された2つの数値間のすべての素数が以下のスクリーンショットのように表示されます:

apply a formula to get all prime numbers between two numbers



arrow blue right bubble ユーザー定義関数を使用して2つの指定された数値間のすべての素数を生成する

最初の方法が少し難しい場合、ここではユーザー定義関数を適用して解決することができます。

1. ALT + F11キーを押しながら押して、 Microsoft Visual Basic for Applicationsウィンドウを開きます。

2. 挿入モジュールをクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード:2つの特定の数値間のすべての素数を生成する:

Function PRIME(St, En As Long)
'Updateby Extendoffice 20160613
Dim num As String
For n = St To En
    For m = 2 To n - 1
        If n Mod m = 0 Then GoTo 20:
    Next m
    num = num & n & ","
20:
Next n
PRIME = num
End Function

3. その後、このコードを保存して閉じ、ワークシートに戻ります。この数式を入力してください:=prime(10,100)10 は開始番号、100は取得したい素数の終了番号であり、必要に応じて変更できます)、そしてEnterキーを押すと、すべての素数が1つのセルに表示されます。スクリーンショットをご覧ください:

generate all prime numbers between two numbers with vba code

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得