Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo generar todos los números primos entre dos números dados en Excel?

En Excel, ¿alguna vez ha tratado de enumerar todos los números primos entre dos números dados? En este artículo, hablaré sobre algunos métodos interesantes para hacer frente a esta tarea.

Genera todos los números primos entre dos números dados con fórmulas

Genera todos los números primos entre dos números dados con la función definida por el usuario


flecha azul burbuja derecha Genera todos los números primos entre dos números dados con fórmulas


Combinando el Definir nombre función y fórmulas, puede enumerar o generar todos los números primos entre los dos números específicos. Por favor haz lo siguiente:

1. Crea el primer nombre de rango haciendo clic Fórmulas > Administrador de nombre, Y en el Administrador de nombre cuadro de diálogo, haga clic en Nueva botón, ver captura de pantalla:

doc list números primos 1

2. En la Nuevo nombre cuadro de diálogo, en el Nombre cuadro de texto, por favor ingrese RNG como el nombre del rango, y luego ingrese esta fórmula: = FILA (INDIRECTA (¡Sheet1! $ B $ 1 & ":" & Sheet1! $ B $ 2)) (Sheet1 es tu hoja de trabajo actual que usaste, B1 y B2 son los números de inicio y final que especificó) en el Se refiere a cuadro de texto, luego haga clic OK para regresar al diálogo anterior. Ver captura de pantalla:

doc list números primos 2

3. Sigue haciendo clic Nueva para crear otro nombre de rango, en Nuevo nombre cuadro de diálogo, ingrese un nombre principal en el Nombre cuadro de texto, y luego ingrese esta fórmula: =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 es el primer nombre de rango que ha creado en step2) en el Se refiere a cuadro de texto, ver captura de pantalla:

doc list números primos 3

4. Luego haga clic OK y cierre los diálogos, y seleccione una columna en la que desee enumerar todos los números primos, e ingrese esta fórmula: = IFERROR (primer, "")(principal es el nombre de rango que creó en el paso 3) en la barra de fórmulas, y luego presione CTRL + MAYÚS + INGRESAR teclas juntas, todos los números primos entre los dos números dados se enumeran como la siguiente captura de pantalla que se muestra:

doc list números primos 4


flecha azul burbuja derecha Genera todos los números primos entre dos números dados con la función definida por el usuario

Si el primer método es algo difícil, aquí puede aplicar un Función definida por el usuario para resolverlo

1. Mantenga presionado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en Módulo Ventana.

Código VBA: genera todos los números primos entre dos números específicos:

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. Luego guarde y cierre este código, regrese a la hoja de trabajo, ingrese esta fórmula: = primer (10,100) (10 es el número de inicio, y 100 es el número final en el que desea obtener los números primos entre, puede cambiarlos según sus necesidades) y luego presione entrar clave, y todos los números primos se muestran en una celda, ver captura de pantalla:

doc list números primos 5


  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905
  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics del mouse por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    John Kennedy Aquino · 2 years ago
    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
  • To post as a guest, your comment is unpublished.
    John Kennedy Aquino · 2 years ago
    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