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

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

En Excel, ¿alguna vez ha intentado 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.

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

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


flecha azul burbuja derecha Genere 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. Haz lo siguiente:

1. Cree el primer nombre de rango haciendo clic en 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 lista números primos 1

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

doc lista números primos 2

3. Sigue haciendo clic Nueva para crear otro nombre de rango, en el 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 el paso 2) en el Se refiere a cuadro de texto, ver captura de pantalla:

doc lista números primos 3

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

doc lista números primos 4


flecha azul burbuja derecha Genere 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í puedes aplicar un Función definida por el usuario para resolverlo

1. Mantenga pulsado 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 el 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: = primo (10,100) (10 es el número de inicio, y 100 es el número final entre el que desea obtener los números primos, puede cambiarlos según sus necesidades) y luego presione Enviar clave, y todos los números primos se muestran en una celda, vea la captura de pantalla:

doc lista números primos 5


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas 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 Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (3)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Sub generar números primos entre () número_inicial = 1 'valor de entrada aquí último_número = 2000' valor de entrada aquí números primos = "" Para a = número_inicial Hasta último_número Para b = 2 Para a Si a - b * Int(a / b) = 0 Y ab Entonces Exit For Else If a = b Then primonumbers = primenumbers & " " & a End If End If Next b Next a MsgBox primenumbers End Sub Function primenumbers between(starting_number, last_number) primenumbers = "" For a = initial_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 primonumbers = primonumbers & " " & a End If End If Next b Next a primonumbers between = primonumbers End Function 'to check if un número es primo 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 'para comprobar si un número es primo Función ISPRIME2(número_a_verificar) For b = 2 To número_a_verificar If número_a_verificar - b * Int(número_a_verificar / b) = 0 And _ número_a_verificar b Entonces ISPRIME2 = "No es primo. Divisible por " & b Salir de la función Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b End Function
Este comentario fue minimizado por el moderador en el sitio




End Sub

Este comentario fue minimizado por el moderador en el sitio
Sub generar números primos entre 3 () número_inicial = 1 'valor de entrada aquí último_número = 10000 'valor de entrada aquí números primos = "" For a = número_inicial To last_number c = a For b = 2 To c If a Mod b = 0 And cb Then Exit For Else If b = c Entonces números primos = números primos & " " & a Salir Para Else If Round(a / (b + 1)) + 1 > b Entonces c = Round(a / (b + 1)) + 1 End If End If End If Next b Next a MsgBox primenumbers End Sub Function PRIMENUMBERSENTWEEN3(starting_number, last_number) primenumbers = "" For a = initial_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 Luego números primos = números primos & " " & a Salir de lo contrario Si Redondear(a / (b + 1)) + 1 > b Entonces c = Redondear(a / (b + 1)) + 1 Finalizar si Finalizar si Finalizar si siguiente b Siguiente a PRIMENUMBERSBETWEEN3 = números primos 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 es el siguiente b End Sub
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL