Przejdź do głównej zawartości

Jak wygenerować wszystkie liczby pierwsze między dwiema podanymi liczbami w programie Excel?

Czy w programie Excel próbowałeś kiedyś wymienić wszystkie liczby pierwsze między dwiema podanymi liczbami? W tym artykule omówię kilka interesujących metod radzenia sobie z tym zadaniem.

Wygeneruj wszystkie liczby pierwsze między dwiema podanymi liczbami za pomocą formuł

Wygeneruj wszystkie liczby pierwsze między dwiema podanymi liczbami za pomocą funkcji zdefiniowanej przez użytkownika


strzałka niebieski prawy bąbelek Wygeneruj wszystkie liczby pierwsze między dwiema podanymi liczbami za pomocą formuł

Łączenie Zdefiniuj nazwę funkcji i formuł można wyświetlić lub wygenerować wszystkie liczby pierwsze między dwiema określonymi liczbami. Wykonaj następujące czynności:

1. Utwórz nazwę pierwszego zakresu, klikając Wzory > Menedżer nazw, oraz w Menedżer nazw okno dialogowe, kliknij Nowości przycisk, zobacz zrzut ekranu:

lista dokumentów liczby pierwsze 1

2, w Nowe imie okno dialogowe w Imię pole tekstowe, wprowadź RNG jako nazwę zakresu, a następnie wprowadź następującą formułę: = WIERSZ (POŚREDNI (Arkusz1! $ B $ 1 & ":" & Arkusz1! $ B $ 2)) (Sheet1 czy Twój obecny arkusz roboczy, którego używasz, B1 i B2 to określone numery początkowe i końcowe) do pliku Odnosi się do pole tekstowe, a następnie kliknij OK przycisk, aby powrócić do poprzedniego okna dialogowego. Zobacz zrzut ekranu:

lista dokumentów liczby pierwsze 2

3. Kliknij dalej Nowości przycisk, aby utworzyć inną nazwę zakresu w Nowe imie w oknie dialogowym wprowadź nazwę główny do Imię pole tekstowe, a następnie wprowadź następującą formułę: =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 to pierwsza nazwa zakresu utworzona w kroku 2) do pliku Odnosi się do pole tekstowe, patrz zrzut ekranu:

lista dokumentów liczby pierwsze 3

4. Następnie kliknij OK i zamknij okna dialogowe i wybierz jedną kolumnę, w której chcesz wyświetlić wszystkie liczby pierwsze, i wprowadź następującą formułę: = IFERROR (liczba pierwsza; „”)(główny to nazwa zakresu utworzona w kroku 3) na pasku formuły, a następnie naciśnij CTRL+SHIFT+ENTER klucze razem, wszystkie liczby pierwsze między podanymi dwiema liczbami są wymienione w poniższym zrzucie ekranu:

lista dokumentów liczby pierwsze 4


strzałka niebieski prawy bąbelek Wygeneruj wszystkie liczby pierwsze między dwiema podanymi liczbami za pomocą funkcji zdefiniowanej przez użytkownika

Jeśli pierwsza metoda jest nieco trudna, tutaj możesz zastosować Funkcja zdefiniowana przez użytkownika aby go rozwiązać.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: generuje wszystkie liczby pierwsze między dwiema określonymi liczbami:

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. Następnie zapisz i zamknij ten kod, wróć do arkusza roboczego, wprowadź tę formułę: = liczba pierwsza (10,100) (10 to numer początkowy, a 100 jest liczbą końcową, między którą chcesz uzyskać liczby pierwsze, możesz je zmienić według potrzeb), a następnie naciśnij Wchodzę klucz, a wszystkie liczby pierwsze są wyświetlane w jednej komórce, patrz zrzut ekranu:

lista dokumentów liczby pierwsze 5

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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