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

Come generare tutti i numeri primi tra due numeri dati in Excel?

In Excel, hai mai provato a elencare tutti i numeri primi tra due numeri dati? In questo articolo parlerò di alcuni metodi interessanti per affrontare questo compito.

Genera tutti i numeri primi tra due numeri dati con le formule

Genera tutti i numeri primi tra due numeri dati con la funzione definita dall'utente


freccia blu freccia destra Genera tutti i numeri primi tra due numeri dati con le formule

Combinando il Definisci nome funzione e formule, puoi elencare o generare tutti i numeri primi tra i due numeri specifici. Si prega di fare quanto segue:

1. Crea il primo nome dell'intervallo facendo clic Formule > Nome Manager, E nel Nome Manager finestra di dialogo, fare clic New pulsante, vedi screenshot:

doc list numeri primi 1

2. Nel Nuovo nome finestra di dialogo, nel file Nome casella di testo, inserisci RNG come nome dell'intervallo, quindi inserisci questa formula: = RIGA (INDIRETTO (Foglio1! $ B $ 1 & ":" & Foglio1! $ B $ 2)) (Sheet1 è il foglio di lavoro che hai utilizzato, B1 e B2 sono i numeri di inizio e fine specificati) nel file Si riferisce a casella di testo, quindi fare clic su OK per tornare alla finestra di dialogo precedente. Vedi screenshot:

doc list numeri primi 2

3. Continua a fare clic New pulsante per creare un altro nome di intervallo, nel file Nuovo nome finestra di dialogo, immettere un nome primo nella Nome casella di testo, quindi 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 nome del primo intervallo che hai creato nel passaggio 2) nel file Si riferisce a casella di testo, vedi screenshot:

doc list numeri primi 3

4. Quindi fare clic OK e chiudi le finestre di dialogo e seleziona una colonna in cui desideri elencare tutti i numeri primi e inserisci questa formula: = SE.ERRORE (primo, "")(primo è il nome dell'intervallo creato nel passaggio 3) nella barra della formula, quindi premere CTRL + MAIUSC + INVIO chiavi insieme, tutti i numeri primi tra i due numeri dati sono elencati come mostrato nella seguente schermata:

doc list numeri primi 4


freccia blu freccia destra Genera tutti i numeri primi tra due numeri dati con la funzione definita dall'utente

Se il primo metodo è un po 'difficile, qui puoi applicare un file Funzione definita dall'utente per risolverlo

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

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. Quindi salva e chiudi questo codice, torna al foglio di lavoro, inserisci questa formula: = primo (10,100) (10 è il numero di partenza, e 100 è il numero finale tra cui si desidera ottenere i numeri primi, è possibile modificarli in base alle proprie esigenze), quindi premere Entra chiave e tutti i numeri primi vengono visualizzati in una cella, vedi screenshot:

doc list numeri primi 5


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (3)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Sub generateprimenumbersbetween() Starting_number = 1 'inserisci il valore qui last_number = 2000 'inserisci il valore qui numeri primi = "" 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 numeri primi = numeri primi & " " & a End If End If Next b Next a MsgBox numeri primi End Sub Function numeri primi tra(numero_iniziale, numero_ultimo) numeri primi = "" For a = numero_iniziale A numero_ultimo For b = 2 A a If a - b * Int(a / b) = 0 And ab Then Exit For Else Se a = b Then numeri primi = numeri primi & " " & a End If End If Next b Next a numeri primi tra = numeri primi End Funzione 'per verificare se un numero è primo Sub ISPRIME() number_to_be_checked = 102 'Inserisci il valore qui 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 Quindi MsgBox "Non primo. Divisibile per " & b Esci Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End Sub 'per verificare se un numero è primo Funzione ISPRIME2(numero_da_verificare) For b = 2 Per numero_da_verificare If numero_da_verificare - b * Int(numero_da_verificare / b) = 0 And _ numero_da_verificare b Then ISPRIME2 = "Non primo. Divisibile per " & b Exit Function Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b End Function
Questo commento è stato fatto dal moderatore sul sito




End Sub

Questo commento è stato fatto dal moderatore sul sito
Sub generateprimenumbersbetween3() Starting_number = 1 'inserisci il valore qui last_number = 10000 'inserisci il valore qui numeri primi = "" 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 Allora numeri primi = numeri primi & " " & 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 numeri primi End Sub Function PRIMENUMBERSBETWEEN3(starting_number, last_number) numeri primi = "" 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 Se b = c Allora numeri primi = numeri primi & " " & 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 Avanti a PRIMENUMBERSBETWEEN3 = numeri primi End Function Sub ISPRIME3() number_to_be_checked = 15485863 'inserire qui il valore 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 Se Successivo b Fine Sub
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL