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

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 Název produktu 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 Název produktu 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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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!
officetab dno
Komentáře (3)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Sub createprimenumbersbetween() počáteční_číslo = 1 'sem zadejte hodnotu last_number = 2000 'sem zadejte hodnotu prvočísla = "" Pro a = počáteční_číslo Do poslední_číslo Pro b = 2 Do a If a - b * Int(a / b) = 0 A ab Pak Exit For Else If a = b Then prvočísla = prvočísla & " " & a End If End If Next b Next a MsgBox prvočísla End Sub Funkce prvočíslamezi(počáteční_číslo, poslední_číslo) prvočísla = "" Pro a = počáteční_číslo Do poslední_číslo Pro b = 2 Komu a If a - b * Int(a / b) = 0 And ab Then Exit For Else If a = b Then prvočísla = prvočísla & " " & a End If End If Next b Next a prvočíslamezi = prvočísla End Funkce 'pro kontrolu, zda číslo je prvočíslo Sub ISPRIME() number_to_be_checked = 102 'sem zadejte hodnotu 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". Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End Sub 'pro kontrolu, zda je číslo prvočíslo Funkce 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. Dělitelné " & b Exit Function Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b End Function
Tento komentář byl moderátorem webu minimalizován




End Sub

Tento komentář byl moderátorem webu minimalizován
Sub createprimenumbersbetween3() počáteční_číslo = 1 'sem zadejte hodnotu last_number = 10000 'sem zadejte hodnotu prvočísla = "" Pro a = počáteční_číslo Do poslední_číslo c = a Pro b = 2 Do c Pokud a Mod b = 0 A cb Pak Exit For Else If b = c Pak prvočísla = prvočísla & " " & 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 prvočísla End Sub Funkce PRIMENUMBERSBETWEEN3(počáteční_číslo, poslední_číslo) prvočísla = "" Pro a = počáteční_číslo Do poslední_číslo c = a Pro b = 2 Do c Pokud a Mod b = 0 A cb Potom Konec Pro Jinak Pokud b = c Pak prvočísla = prvočísla & " " & 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 Další a PRIMENUMBERSBETWEEN3 = prvočísla Koncová funkce Sub ISPRIME3() number_to_be_checked = 15485863 'sem zadejte hodnotu c = number_to_be_checked Pro b = 2 Do c Pokud number_to_be_checked Mod b = 0 A cb Potom MsgBox "Not Prime" & 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 Pokud Další b End Sub
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL