Přejít k hlavnímu obsahu

Jak generovat všechna prvočísla mezi dvěma danými čísly v aplikaci Excel?

Zkoušeli jste v aplikaci Excel někdy uvést všechna prvočísla mezi dvěma danými čísly? V tomto článku budu hovořit o několika zajímavých metodách řešení tohoto úkolu.

Generujte všechna prvočísla mezi dvěma danými čísly pomocí vzorců

Generujte všechna prvočísla mezi dvěma danými čísly pomocí funkce definované uživatelem


šipka modrá pravá bublina Generujte všechna prvočísla mezi dvěma danými čísly pomocí vzorců

Kombinace Definujte jméno Funkce a vzorce můžete vypsat nebo vygenerovat všechna prvočísla mezi dvěma konkrétními čísly. Postupujte prosím následovně:

1. Kliknutím na vytvoříte název prvního rozsahu Vzorce > Správce jmen, a v Správce jmen , klepněte na tlačítko OK Nový tlačítko, viz screenshot:

seznam dokumentů prvočísla 1

2. V Nové jméno v dialogovém okně v Příjmení textové pole, zadejte RNG jako název rozsahu a poté zadejte tento vzorec: = ŘÁDEK (NEPŘÍMÝ (List1! $ B $ 1 & ":" & List1! $ B $ 2)) (Sheet1 je váš aktuální list, který jste použili, B1 a B2 jsou počáteční a koncová čísla, která jste zadali) do Odkazuje na textové pole a klikněte na OK tlačítko pro návrat do předchozího dialogu. Viz screenshot:

seznam dokumentů prvočísla 2

3. Pokračujte kliknutím Nový tlačítko pro vytvoření jiného názvu rozsahu v Nové jméno V dialogovém okně zadejte název hlavní do Příjmení textové pole a poté zadejte tento vzorec: =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 je první název rozsahu, který jste vytvořili v kroku 2) do souboru Odkazuje na textové pole, viz screenshot:

seznam dokumentů prvočísla 3

4. Pak klikněte na tlačítko OK a zavřete dialogy a vyberte jeden sloupec, ve kterém chcete vypsat všechna prvočísla, a zadejte tento vzorec: = IFERROR (prime, "")(hlavní je název rozsahu, který jste vytvořili v kroku 3) do řádku vzorců, a poté stiskněte CTRL+SHIFT+ENTER společně, všechna prvočísla mezi danými dvěma čísly jsou uvedena jako následující snímek obrazovky:

seznam dokumentů prvočísla 4


šipka modrá pravá bublina Generujte všechna prvočísla mezi dvěma danými čísly pomocí funkce definované uživatelem

Pokud je první metoda poněkud obtížná, zde můžete použít a Uživatelem definovaná funkce to vyřešit.

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Generování všech prvočísel mezi dvěma konkrétními čísly:

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. Poté tento kód uložte a zavřete, vraťte se do listu, zadejte tento vzorec: = připravit (10,100 XNUMX) (10 je počáteční číslo a 100 je konečné číslo, mezi které chcete získat prvočísla, můžete je podle potřeby změnit) a poté stiskněte vstoupit klíč a všechna prvočísla se zobrazují do jedné buňky, viz screenshot:

seznam dokumentů prvočísla 5

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Sub generateprimenumbersbetween3() starting_number = 1 'input value here last_number = 10000 'input value here primenumbers = "" For a = starting_number To last_number c = a For b = 2 To c If a Mod b = 0 And c b 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 = starting_number To last_number c = a For b = 2 To c If a Mod b = 0 And c b 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 PRIMENUMBERSBETWEEN3 = primenumbers End Function Sub ISPRIME3() number_to_be_checked = 15485863 'input value here c = number_to_be_checked For b = 2 To c If number_to_be_checked Mod b = 0 And c b Then MsgBox "Not Prime. Divisible by " & b Exit 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 If Next b End Sub
This comment was minimized by the moderator on the site
Sub generateprimenumbersbetween() starting_number = 1 'input value here last_number = 2000 'input value here primenumbers = "" For a = starting_number To last_number For b = 2 To a If a - b * Int(a / b) = 0 And a b 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 = starting_number To last_number For b = 2 To a If a - b * Int(a / b) = 0 And a b Then Exit For Else If a = b Then primenumbers = primenumbers & " " & a End If End If Next b Next a primenumbersbetween = primenumbers End Function 'to check if a number is prime Sub ISPRIME() number_to_be_checked = 102 'input value here For b = 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 "Not Prime. Divisible by " & b Exit Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End Sub 'to check if a number is prime Function ISPRIME2(number_to_be_checked) For b = 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 ISPRIME2 = "Not Prime. Divisible by " & b Exit Function Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b End Function
This comment was minimized by the moderator on the site
<p>



End Sub

</p>
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations