Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Función INT

| 29 comentarios

FUNCIÓN INT (ENTERO)

La función entera nos permite redondear los números hasta un entero inferior más próximo como por ejemplo:

Tenemos un valor de 17.9 en la celda D5, aplicando la función INT en la celda F5 nos da un valor inferior más próximo de 17.

F5=ENTERO(D5)

EJEMPLO12 300x73 Función INT

Ahora aplicamos la función para números negativos por ejemplo:

Tenemos en la columna C los valores de : -7.5 y -3.2 , para la celda E4 aplicamos la función =ENTERO(C4) y nos da un valor próximo, que en este caso sería el -8.  Aplicando la misma función para la celda C5 nos da un valor de -4.

EJEMPLO2 300x169 Función INT

Aplicación en VB:

Tenemos un valor en la celda D5=17.9, aplicando la grabadora de macros en la celda F5 se genera automáticamente  un código en VBasic  como el siguiente:

Sub Macro3()
ActiveCell.FormulaR1C1 = "=INT(RC[-2])"
Range("F6").Select
End Sub

De esta manera en la celda F5 ejecutando la macros nos da como resultado 17.

EJEMPLO32 300x145 Función INT

DATO: solo se puede ejecutar la macros en la columna F,  si realizamos esta aplicación en otra columna nos da como valor 0.

Elaborado por: Miguel Paz

29 comentarios

  1. La función entero (int) se puede utilizar en el algoritmo para determinar los grados de libertad de la distribución T de Student, en una Prueba de Hipótesis para dos muestras de dos Poblaciones independientes, bajo el supuesto que no se conocen las desviaciones estándares poblacionales y se suponen que no son iguales.
    Los grados de libertad para esta prueba se determina mediante una fórmula, cuyo valor es siempre positivo y debe ser redondeado al entero menor, por ejemplo si el valor obtenido es 18.5, los grados de libertad serían 18.

  2. La función Entero (int), se puede utilizar en determinar los grados de libertad de la distribución T de Student, al realizar una prueba de hipótesis para dos muestras provenientes de dos poblaciones independientes, cuando no se conocen las Desviaciones estándares poblacionales y se suponen no iguales.
    Los grados de libertad se calculan mediante una fórmula estadística, cuyo valor es positivo y debe ser redondeado al entero menor. Por ejemplo 13.5 se convierte a 13 grados de libertad.

  3. Me he fijado que en el ejemplo que se tiene anteriormente, si se ejecuta la macro ubicándonos en la celda H5 nos arroja el valor 17, ya que toma como referencia la celda F5 para calcular el entero. Pero si se toma en la celda G5 por ejemplo, efectivamente nos arroja un valor 0 como se indica en el DATO.

  4. interesante función INT que permite redondear al valor inferior más próximo

  5. Me parece que se tienen 2 funciones parecidas como ROUND y la que se describe lineas arriba, de igual es importante toda vez que la actual funcion me parece que es mas practica.

  6. Probé la macro por curiosidad y ¿por qué hacer la programación? si se puede usar la función REDONDEAR

    • Hola, el objetivo de la función redondear es aproximar un número decimal al valor más cercano, ejemplo:

      =redondear(16.8,0) saldría 17

      pero si usas la función

      =entero(16.8) , te sale únicamente el 16 sin importar los decimales.

      Un ejemplo de aplicación para la función entero puede ser por ejemplo si tienes 1000 soles y quieres saber cuantos escritorios puedes comprar sabiendo que cada uno cuesta 30 soles.

      la respuesta sería 1000/ 30 = 33.3333 escritorios, pero como los escritorios deben ser nuevos enteros. Solo podrías comprar 33

      =entero(33.33333)

      Espero te haya servido.

  7. Este ejemplo que publico es para simular los lanzamientos de dados.
    Con RND multiplicado por 6, obteniendo la parte entera con INT, tendríamos números del 0 al 5, por esa razón sumamos 1 a la parte entera ya que los dados dan del 1 al 6.

    Sub dados()
    numero = Rnd()
    ActiveCell.FormulaR1C1 = numero
    ActiveCell.Offset(1, 0).Range("A1").Select
    numero = numero * 6
    ActiveCell.FormulaR1C1 = numero
    ActiveCell.Offset(1, 0).Range("A1").Select
    numero = Int(numero)
    ActiveCell.FormulaR1C1 = numero
    ActiveCell.Offset(1, 0).Range("A1").Select
    numero = numero + 1
    ActiveCell.FormulaR1C1 = numero
    ActiveCell.Offset(1, 0).Range("A1").Select
    otronumero = Int(Rnd() * 6) + 1
    ActiveCell.FormulaR1C1 = otronumero
    End Sub

  8. En mi opinion esta función no tiene mucha consistencia matematica ya que no permite redondear al numero entero superior próximo ya que es el mas adecuado cuando se habla en materias de modelos matematicos pero es interesante conocer que existe esta funcion no muy comun a ser utilizada

    • Para emplear esta función en redondeo debemos sumar 0.5 al número antes de obtener el INT:
      Sub redondeandoconint()
      Dim numero As Double
      numero = 3.4587
      Range("a1").Value = numero
      'redondear a 3 decimales
      Range("a2").Value = Int(numero * 1000 + 0.5) / 1000
      'redondear a 2 decimales
      Range("a3").Value = Int(numero * 100 + 0.5) / 100
      'redondear a 0 decimales
      Range("a4").Value = Int(numero + 0.5)
      End Sub

  9. Para producir enteros aleatorios en un intervalo dado, usa esta fórmula:
    Int ((Límite_superior - límite_inferior + 1) * Rnd + límite_inferior)
    Aquí, límite_superior es el número mayor del intervalo y límite_inferior es el número menor del intervalo.

  10. El siguiente còdigo es un juego del 7 afortunado, que simula el lanzamiento de 3 dados y si alguno de ellos cae 7 entonces ganaste. el ejemplo ejecuta un bucle que repetira hasta que uno de los dados sea 7 o que se responda "N" o "n" a la pregunta continuar.

    Espero le agrade:

    +-------------------------------------------------
    Public Sub dados()
    Range("A1:A5").Select
    Selection.ClearContents
    Range("A1").Select
    Do
    a = Int(Rnd() * (8 - 1) + 1)
    b = Int(Rnd() * (8 - 1) + 1)
    c = Int(Rnd() * (8 - 1) + 1)
    Range("A1") = a
    Range("A2") = b
    Range("A3") = c
    If a = 7 Or b = 7 Or c = 7 Then
    MsgBox "GANASTE!!!"
    Exit Do
    Else
    MsgBox "PERDISTE"
    End If
    r = InputBox("Deseas continuar (S/N)", "Mensaje", "S")
    If r = "N" Or r = "n" Then
    Exit Do
    End If
    Loop
    End Sub

  11. La función INT también se puede utilizar en el código de VBA. Por ejemplo:

    Dim LNumber As Double
    LNumber = Int(210.67)

    En este ejemplo, la variable de llamada LNumber ahora contendría el valor de 210.

  12. Apoyo el comentario de Jesús. Sin embargo resalto que esta función podría suplir a Redondear cuando sea realmente necesario obtener datos inferiores a los ingresados.

  13. Es una funcion similar a la función round, pero me redondea el numero por defecto y nop por exceso. Pero la e estado probando y no lo hace o en que me estoy equivocando, probablemente le falte algo, o se corrija de alguna forma.

  14. Redondear hacia el entero inferior es algo que se podria utilizar para la edad de las personas: Otro caso que también he observado es para los meses y años.

  15. Buen día amigos,

    Apoyo el comentario de Diego, es muy útil para edades, meses y años.

  16. En esta función hay que tener bastante cuidado al aplicarla, sobretodo en valores negativos, pues intuitivamente (dados los resultados aplicados a números positivos), estaríamos esperando un valor pero lógicamente se obtiene otro.
    Ejem: Numero Positivo: Int(7.5) = 7
    Número Negativo Int(-7.5) = 8

    • Para contrastar:

      Es cierto que la Función INT devuelve el entero inmediato inferior y esto tiene efectos claros en los números negativos. Si en alguna situación requeriríamos el numero entero de ese negativo esta función no nos sería útil. Sin embargo, se puede utilizar la función FIX, la cual elimina los decimales de un valor, de esta manera podría ser posible obtener los enteros en un negativo. La descripción de esta función se encuentra más detallada en la lista de funciones de este blog.

  17. Interesante, esta función es parecida a la función Redondear, con la diferencia que no escatima decimales y de frente lo redondea al número entero próximo.

  18. A pesar de ser una función muy parecida a la que nos ofrece el Excel, su aplicación nos es muy útil en cuanto a asegurar los valores enteros para edades, meses y años, en donde el redondeo clásico no se aplica.

  19. Para la aplicación en Excel como fórmula (función ENTERO), cumple la misma función que 'REDONDEAR.MENOS', indicando que no se desean decimales.

    En el ejemplo, se colocaría en la celda F5:
    =REDONDEAR.MENOS(D5,0)

  20. Esta función puede aplicarse para redondear a favor las notas de los alumnos.

Página de comentarios 1 de 2
1 2

Deja una respuesta

Los campos requeridos estan marcados con *.