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

Comment générer tous les nombres premiers entre deux nombres donnés dans Excel?

Dans Excel, avez-vous déjà essayé de lister tous les nombres premiers entre deux nombres donnés? Cet article, je vais parler de quelques méthodes intéressantes pour faire face à cette tâche.

Générer tous les nombres premiers entre deux nombres donnés avec des formules

Générer tous les nombres premiers entre deux nombres donnés avec la fonction définie par l'utilisateur


flèche bleue bulle droite Générer tous les nombres premiers entre deux nombres donnés avec des formules


Combiner le Définir le nom fonction et formules, vous pouvez lister ou générer tous les nombres premiers entre les deux nombres spécifiques. Veuillez procéder comme suit:

1. Veuillez créer le premier nom de plage en cliquant sur Formules > Gestionnaire de nomset dans le Gestionnaire de noms boîte de dialogue, cliquez sur Nouveautés bouton, voir capture d'écran:

doc liste nombres premiers 1

2. Dans le Nouveau nom boîte de dialogue, dans la Nom zone de texte, veuillez saisir RNG comme nom de plage, puis entrez cette formule: = ROW (INDIRECT (Sheet1! $ B $ 1 & ":" & Sheet1! $ B $ 2)) (Sheet1 est votre feuille de calcul actuelle que vous avez utilisée, B1 et des tours B2 sont les nombres de début et de fin que vous avez spécifiés) dans le Se réfère à zone de texte, puis cliquez sur OK bouton pour revenir à l'ancienne boîte de dialogue. Voir la capture d'écran:

doc liste nombres premiers 2

3. Continuez à cliquer Nouveautés pour créer un autre nom de plage, dans le Nouveau nom boîte de dialogue, entrez un nom into the Nom zone de texte, puis entrez cette formule: =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 est le premier nom de plage que vous avez créé à l'étape 2) dans le Se réfère à zone de texte, voir capture d'écran:

doc liste nombres premiers 3

4. Puis clique OK et fermez les boîtes de dialogue, sélectionnez une colonne dans laquelle vous souhaitez répertorier tous les nombres premiers, puis entrez cette formule: = IFERREUR (premier, "")( est le nom de plage que vous avez créé à l'étape 3) dans la barre de formule, puis appuyez sur CTRL + MAJ + ENTRÉE clés ensemble, tous les nombres premiers entre les deux nombres donnés sont répertoriés comme suit:

doc liste nombres premiers 4


flèche bleue bulle droite Générer tous les nombres premiers entre deux nombres donnés avec la fonction définie par l'utilisateur

Si la première méthode est un peu difficile, ici, vous pouvez appliquer un Fonction définie par l'utilisateur pour le résoudre.

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: générez tous les nombres premiers entre deux nombres spécifiques:

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. Ensuite, enregistrez et fermez ce code, revenez à la feuille de calcul, veuillez entrer cette formule: = premier (10,100) (10 est le numéro de départ, et 100 est le nombre final entre lequel vous voulez obtenir les nombres premiers, vous pouvez les changer selon vos besoins), puis appuyez sur Entrer clé, et tous les nombres premiers sont affichés dans une cellule, voir capture d'écran:

doc liste nombres premiers 5


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (3)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Sub generateprimenumbersbetween() starting_number = 1 'valeur d'entrée ici last_number = 2000 'valeur d'entrée ici nombres premiers = "" For a = starting_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 nombres premiers = nombres premiers & " " & a End If End If Next b Next a MsgBox nombres premiers End Sub Function nombres premiers entre (numéro_debut, dernier_nombre) nombres premiers = "" For a = nombre_debut To last_number For b = 2 To a Si a - b * Int(a / b) = 0 And ab Then Exit For Else If a = b Then nombres premiers = nombres premiers & " " & a End If End If Next b Next a nombres premiers entre = nombres premiers End Function 'pour vérifier si un nombre est premier Sub ISPRIME() number_to_be_checked = 102 'valeur d'entrée ici 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 "Non premier. Divisible par " & b Quitter Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End S ub ' pour vérifier si un nombre est premier 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 par " & b Quitter la fonction Sinon Si nombre_à_vérifier = b Alors ISPRIME2 = "Prime" Fin Si Fin Si Suivant b Fin de la fonction
Ce commentaire a été minimisé par le modérateur sur le site




End Sub

Ce commentaire a été minimisé par le modérateur sur le site
Sub generateprimenumbersbetween3() starting_number = 1 'valeur d'entrée ici last_number = 10000 'valeur d'entrée ici nombres premiers = "" For a = starting_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 Alors nombres premiers = nombres premiers & " " & a Sortie Pour Sinon Si Arrondi(a / (b + 1)) + 1 > b Alors c = Arrondi(a / (b + 1)) + 1 Fin Si Fin Si Fin If Next b Next a MsgBox nombres premiers End Sub Function PRIMENUMBERSBETWEEN3(starting_number, last_number) primenumbers = "" Pour a = nombre_debut To last_number c = a For b = 2 To c If a Mod b = 0 And cb Then Exit For Else If b = c Alors nombres premiers = nombres premiers & " " & a Sortie Pour Sinon Si Arrondi(a / (b + 1)) + 1 > b Alors c = Arrondi(a / (b + 1)) + 1 Fin Si Fin Si Fin Si Suivant b Next a PRIMENUMBERSBETWEEN3 = nombres premiers 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 cb Then MsgBox "Not Prime. Divisible by " & 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 Si suivant b End Sub
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés