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 ? Dans cet article, je vais parler de quelques méthodes intéressantes pour accomplir 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 des formules
En combinant la fonction Définir un nom et des formules, vous pouvez lister ou générer tous les nombres premiers entre deux nombres spécifiques. Veuillez procéder comme suit :
1. Veuillez créer le premier nom de plage en cliquant sur Formules > Gestionnaire de noms, puis dans la boîte de dialogue Gestionnaire de noms, cliquez sur le bouton Nouveau, voir capture d'écran :
2. Dans la boîte de dialogue Nouveau nom, dans la zone de texte Nom, veuillez entrer rng comme nom de plage, puis entrez cette formule : =LIGNE(INDIRECT(Sheet1!$B$1&":"&Sheet1!$B$2)) (Sheet1 est votre feuille de calcul actuelle que vous utilisez, B1 et B2 sont les numéros de début et de fin que vous avez spécifiés) dans la zone de texte Fait référence à, puis cliquez sur le bouton OK pour revenir à la boîte de dialogue précédente. Voir capture d'écran :
3. Continuez en cliquant sur le bouton Nouveau pour créer un autre nom de plage, dans la boîte de dialogue Nouveau nom, entrez un nom prime dans la zone de texte Nom, puis entrez cette formule : =PETITE.VALEUR(SI(PRODUITMAT(--(SI(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);LIGNE(INDIRECT("1:"&Sheet1!$B$2))) (rng est le premier nom de plage que vous avez créé à l'étape 2) dans la zone de texte Fait référence à, voir capture d'écran :
4. Cliquez ensuite sur OK et fermez les dialogues, sélectionnez une colonne où vous souhaitez lister tous les nombres premiers, et entrez cette formule : =SIERREUR(prime;"") (prime est le nom de plage que vous avez créé à l'étape 3) dans la barre de formule, puis appuyez simultanément sur les touches CTRL + MAJ + ENTRÉE, tous les nombres premiers entre les deux nombres donnés sont listés comme le montre la capture d'écran suivante :
Générer tous les nombres premiers entre deux nombres donnés avec une fonction définie par l'utilisateur
Si la première méthode est quelque peu difficile, ici, vous pouvez appliquer une Fonction définie par l'utilisateur pour résoudre ce problème.
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, et collez le code suivant dans la fenêtre Module.
Code VBA : Générer 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, retournez à la feuille de calcul, veuillez entrer cette formule : =premier(10;100) (10 est le nombre de départ, et 100 est le nombre final entre lesquels vous souhaitez obtenir les nombres premiers, vous pouvez les changer selon vos besoins), puis appuyez sur la touche Entrée, et tous les nombres premiers sont affichés dans une seule cellule, voir capture d'écran :
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !