Note: The other languages of the website are Google-translated. Back to English

ExcelでXNUMXつの与えられた数の間のすべての素数を生成する方法は?

Excelで、XNUMXつの与えられた数の間のすべての素数をリストしようとしたことがありますか? この記事では、このタスクを処理するためのいくつかの興味深い方法について説明します。

数式を使用して、指定されたXNUMXつの数の間のすべての素数を生成します

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


矢印青い右バブル 数式を使用して、指定されたXNUMXつの数の間のすべての素数を生成します

組み合わせる 名前を定義する 関数と数式を使用すると、XNUMXつの特定の数の間のすべての素数を一覧表示または生成できます。 次のようにしてください。

1。 クリックして最初の範囲名を作成してください > 名前管理者、そして 名前管理者 ダイアログボックスで、をクリックします。 New ボタン、スクリーンショットを参照してください:

ドキュメントリスト素数1

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

ドキュメントリスト素数2

3。 クリックしてください New ボタンをクリックして、別の範囲名を作成します。 新しい名前 ダイアログボックスで、名前を入力します 素数お名前 テキストボックスに入力し、次の数式を入力します。 =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)で作成した最初の範囲名です を参照する テキストボックス、スクリーンショットを参照:

ドキュメントリスト素数3

4。 次に、をクリックします OK ダイアログを閉じて、すべての素数を一覧表示するXNUMXつの列を選択し、次の式を入力します。 = IFERROR(prime、 "")(素数 手順3)で作成した範囲名を数式バーに入力し、を押します。 Ctrl + Shift + Enter キーを合わせると、指定されたXNUMXつの数字の間のすべての素数が次のスクリーンショットのように一覧表示されます。

ドキュメントリスト素数4


矢印青い右バブル ユーザー定義関数を使用して、指定されたXNUMXつの数の間のすべての素数を生成します

最初の方法がやや難しい場合は、ここで、 ユーザー定義関数 それを解決する。

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:XNUMXつの特定の数の間のすべての素数を生成します。

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 は素数を取得したい終了番号です。必要に応じて変更できます)、を押します。 入力します キーを押すと、すべての素数がXNUMXつのセルに表示されます。スクリーンショットを参照してください。

ドキュメントリスト素数5


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (3)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
Sub generateprimenumbersbetween()starting_number =1'ここに入力値last_number=2000'ここに入力値primenumbers="" For a = start_number To last_number For b = 2 To a If a --b * Int(a / b)= 0 And ab Then Exit For Else If a = b Then primenumbers = primenumbers& ""&a End If End If Next b Next a MsgBox primenumbers End Sub Function primenumbersbetween(starting_number、last_number)primenumbers = "" For a = start_number To last_number For b = 2 To a If a --b * Int(a / b)= 0 And ab Then Exit For Else If a = b Then primenumbers = primenumbers& ""&a End If End If Next b Next a primenumbersbetween = primenumbers End Function'数値は素数ですSubISPRIME()number_to_be_checked =102'ここに値を入力しますForb= 2 To number_to_be_checked If number_to_be_checked --b * Int(number_to_be_checked / b)= 0 And _ number_to_be_checked b Then MsgBox "NotPrime。Divisibleby"&b Exit Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End Sub'は、数値が素数であるかどうかをチェックします。 "&bで割り切れる関数を終了Else If number_to_be_checked = b Then ISPRIME2 =" Prime "End If End If Next b End Function
このコメントは、サイトのモデレーターによって最小化されました




End Subの

このコメントは、サイトのモデレーターによって最小化されました
Sub generateprimenumbersbetween3()starting_number =1'ここに入力値last_number=10000'ここに入力値primenumbers="" For a = start_number To last_number c = a For b = 2 To c If a Mod b = 0 And cb Then Exit For Else If b = c Then primenumbers = primenumbers& ""&a Exit For Else If Round(a /(b + 1))+ 1> b Then c = Round(a /(b + 1))+ 1 End If End If End If Next b Next a MsgBox primenumbers End Sub Function PRIMENUMBERSBETWEEN3(starting_number、last_number)primenumbers = "" For a = start_number To last_number c = a For b = 2 To c If a Mod b = 0 And cb Then Exit For Else If b = c Then primenumbers = primenumbers& ""&a Exit For Else If Round(a /(b + 1))+ 1> b Then c = Round(a /(b + 1))+ 1 End If End If End If Next b次にaPRIMENUMBERSBETWEEN3= primenumbers End Function Sub ISPRIME3()number_to_be_checked =15485863'ここに値を入力c=number_to_be_checked For b = 2 To c If number_to_be_checked Mod b = 0 And cb Then MsgBox "NotPrime。Divisibleby"&bExit Sub Else If b = c Then MsgBox "Prime" Exit Sub Else If Round(number_to_be_checked /(b + 1))+ 1> b Then c = Round(number_to_be_checked /(b + 1))+ 1 End If End If End次の場合bEndSub
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護