Come generare tutti i numeri primi tra due numeri dati in Excel?
In Excel, hai mai provato a elencare tutti i numeri primi compresi tra due numeri specificati? In questo articolo, discuterò alcuni metodi interessanti per affrontare questa attività.
Genera tutti i numeri primi tra due numeri dati con formule
Genera tutti i numeri primi tra due numeri dati con una Funzione Definita dall'Utente
Genera tutti i numeri primi tra due numeri dati con formule
Combinando la funzione Definisci Nome e le formule, puoi elencare o generare tutti i numeri primi compresi tra due numeri specifici. Procedi nel seguente modo:
1. Crea il primo nome dell'intervallo facendo clic su Formule > Gestione Nomi, e nella finestra di dialogo Gestione Nomi, fai clic sul pulsante Nuovo, vedi screenshot:
2. Nella finestra di dialogo Nuovo Nome, nella casella di testo Nome, inserisci rng come nome dell'intervallo, e poi inserisci questa formula: =ROW(INDIRECT(Sheet1!$B$1&":"&Sheet1!$B$2)) (Sheet1 è il foglio di lavoro corrente che stai utilizzando, B1 e B2 sono i numeri di partenza e fine che hai specificato) nella casella di testo Si riferisce a, quindi fai clic sul pulsante OK per tornare alla finestra precedente. Vedi screenshot:
3. Continua facendo clic su Nuovo per creare un altro nome di intervallo, nella finestra di dialogo Nuovo Nome, inserisci un nome prime nella casella di testo Nome, e poi inserisci questa formula: =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 è il primo nome di intervallo che hai creato al passaggio 2) nella casella di testo Si riferisce a, vedi screenshot:
4. Quindi fai clic su OK e chiudi le finestre di dialogo, seleziona una colonna in cui desideri elencare tutti i numeri primi, e inserisci questa formula: =IFERROR(prime," ") (prime è il nome dell'intervallo che hai creato al passaggio 3) nella barra delle formule, e poi premi contemporaneamente i tasti CTRL + SHIFT + INVIO; tutti i numeri primi compresi tra i due numeri specificati verranno elencati come mostrato nello screenshot seguente:
Genera tutti i numeri primi tra due numeri dati con una Funzione Definita dall'Utente
Se il primo metodo è un po' difficile, qui puoi applicare una Funzione Definita dall'Utente per risolvere il problema.
1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.
2. Fai clic su Inserisci > Modulo, e incolla il codice seguente nella Finestra del Modulo.
Codice VBA: Genera tutti i numeri primi tra due numeri specifici:
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. Salva e chiudi quindi questo codice, torna al foglio di lavoro, inserisci questa formula: =prime(10,100) (10 è il numero di partenza, e 100 è il numero finale tra cui vuoi ottenere i numeri primi, puoi modificarli secondo necessità), e poi premi il tasto Invio, e tutti i numeri primi vengono visualizzati in una cella, vedi screenshot:
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!