Función ALEATORIO excluyendo rangos

La función que muestro a continuación da como resultado un número aleatorio entre dos números sin tener en cuenta un intervalo especificado. Como no sabía cómo llamarla, he optado por ALEATORIO2.

Imagina que necesitas un número aleatorio entre 1 y 100, que no debe mostrar como resultado, un valor comprendido entre 25 y 50.

La sintaxis es la siguiente:

=ALEATORIO2(inferior;superior;número inferior rango excluido;número superior rango excluido)

Atención! Todos los argumentos son obligatorios

En primer lugar la función valida los argumentos para comprobar que se han introducido en el orden correcto.

Luego, mediante un bucle, va creando números enteros aleatorios entre el valor inferior y el superior hasta que da con uno que no está comprendido en el rango de números excluidos.

Este es el código resultante:

 

Function ALEATORIO2(primer As Integer, ultimo As Integer, no1 As _
    Integer, no2 As Integer)

    'Valida los datos para que en el cálculo no aparezcan errores

    If primer >= ultimo Or primer > no1 Or primer > no2 Or no1 > no2 _
    Or no1 > ultimo Or no2 > ultimo Then
        a = MsgBox("Por favor, revisa los argumentos de la función", , _
    "Error en la función")
        Exit Function
    End If

    ' Calcula el entero aleatorio mientras no se encuentre entre no1 y no2

    Do
        res = Int((ultimo - primer + 1) * Rnd() + primer)
    Loop While res >= no1 And res <= no2

    ALEATORIO2 = res

End Function

¿Te ha sido útil esta función?

Los comentarios están cerrados.

Sergio

Sergio

La destreza y el perfeccionismo quizá sean las dos virtudes que me permiten ayudar a mis clientes a facilitar las tareas administrativas de sus negocios.

Descarga la plantilla de calendario compacto 2022

Gratis

Introduce tu nombre y tu correo para descargarla

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

 

Responsable: Sergio Andrés Celemín

Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico.

Legitimación: Consentimiento del interesado.

Destinatarios: Tus datos se encuentran alojados en mi hosting Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Descarga la plantilla de calendario anual 2022

Gratis

Introduce tu nombre y tu correo para descargarla

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

 

Responsable: Sergio Andrés Celemín

Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico.

Legitimación: Consentimiento del interesado.

Destinatarios: Tus datos se encuentran alojados en mi hosting Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Descarga la plantilla de calendario cuatrienal 2022

Gratis

Introduce tu nombre y tu correo para descargarla

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

 

Responsable: Sergio Andrés Celemín

Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico.

Legitimación: Consentimiento del interesado.

Destinatarios: Tus datos se encuentran alojados en mi hosting Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Descarga la plantilla de calendario idiomas 2022

Gratis

Introduce tu nombre y tu correo para descargarla

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

 

Responsable: Sergio Andrés Celemín

Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico.

Legitimación: Consentimiento del interesado.

Destinatarios: Tus datos se encuentran alojados en mi hosting Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Descarga la plantilla de calendario lineal 2022

Gratis

Introduce tu nombre y tu correo para descargarla

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

 

Responsable: Sergio Andrés Celemín

Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico.

Legitimación: Consentimiento del interesado.

Destinatarios: Tus datos se encuentran alojados en mi hosting Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Descarga la plantilla de calendario semanal 2022

Gratis

Introduce tu nombre y tu correo para descargarla

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

 

Responsable: Sergio Andrés Celemín

Finalidad: Gestionar y enviar información de boletines y promociones a través de correo electrónico.

Legitimación: Consentimiento del interesado.

Destinatarios: Tus datos se encuentran alojados en mi hosting Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Ebook De 0 a 100 con macros y VBA

De 0 a 100 con macros y VBA

Esta oferta no es para siempre...

¡no la desaproveches!