Excel Avanzado

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

Excel Avanzado

Función ROUND

| 56 comentarios

La función ROUND es empleada para redondear valores numéricos.

1. Lógica de funcionamiento

Entiéndase que si el valor a redondear tiene parte decimal menor a 0.5, el valor obtenido será igual a la parte entera del número ingresado. Por otro lado, si el valor a redondear tiene parte decimal mayor o igual a 0.5, el valor obtenido será igual al entero inmediato superior de la parte entera del número ingresado.

2.  Sintaxis:

= ROUND (valor a redonear, decimales a emplear)

3. Ejemplo práctico (sin macros):

En el caso de que se requiera emplear esta función, se debe colocar en la hoja "=Redondear", si el Excel esta en español,  o "=Round" si el Excel se encuentra en Inglés.

Si desea ver otras traducciones revise la  Lista de funciones en Excel en varios idiomas

función round excel

 

4. Ejemplo práctico (con macros):

Si deseamos redondear el valor 19.65 colocado en la celda A1 de nuestra hoja de Excel y luego mostrar su valor ya redondeado, podemos utilizar la función ROUND, como sigue:

Sintaxis en VB:

Sub redondear()

valor = round(Range("A1"),1)

MsgBox ("El valor redondeado es: " & valor)

End Sub

Respuesta del sistema:

funcion round

 

 

Elaborado por: Ernesto Tarazona Niño de Guzmán.

56 comentarios

  1. La funcion es buena, en mi caso lo utilizaria para calculos de planilla, pero sirve con divisiones de mas de 3 decimales?

  2. Para redondear hacia abajo puedes usar ROUNDDOWN, es similar a ROUND solo que redondea hacia abajo.

    La sintaxis es: ROUNDDOWN(number,num_digits)

  3. Para redondear hacia abajo puedes usar ROUNDDOWN, es similar a ROUND.
    La sintaxis es: ROUNDDOWN(number,num_digits)

  4. Bueno, sobre lo mostrado tengo las siguientes observaciones:

    La funcion ROUND requiere de 2 datos: Round ( expression, [decimal_places] ), donde el 2do datos en este ejemplo es "0", por lo cual si se omite lo considerará como si colocarás el dato "0".

    Luego, cuando he copiado y pegado la informacion de este blog en el editor de VBA no me ha aparecido correctamente la macro, por lo cual tuve que digitarla manualmente.

    Finalmente, me quedan las dudas: ¿si yo quiero que el resultado redondeado me aparezca en B1 cual debería ser la macro? y si coloco un rango de datos: ¿me podria esta funcion ayudar a redondear todas de un porrazo o deberia hacer un ROUND por cada celda que quiero redondeado?

  5. Bueno, sobre lo mostrado tengo las siguientes observaciones:
    La funcion ROUND requiere de 2 datos: Round ( expression, [decimal_places] ), donde el 2do datos en este ejemplo es "0", por lo cual si se omite lo considerará como si colocarás el dato "0".

    Luego, cuando he copiado y pegado la informacion de este blog en el editor de VBA no me ha aparecido correctamente la macro, por lo cual tuve que digitarla manualmente.

    Finalmente, me quedan las dudas: ¿si yo quiero que el resultado redondeado me aparezca en B1 cual debería ser la macro? y si coloco un rango de datos: ¿me podria esta funcion ayudar a redondear todas de un porrazo o deberia hacer un ROUND por cada celda que quiero redondeado?

  6. Bueno, sobre lo mostrado tengo las siguientes observaciones:
    La funcion ROUND requiere de 2 datos: Round ( expression, [decimal_places] ), donde el 2do datos en este ejemplo es "0", por lo cual si se omite lo considerará como si colocarás el dato "0".
    Luego, cuando he copiado y pegado la informacion de este blog en el editor de VBA no me ha aparecido correctamente la macro, por lo cual tuve que digitarla manualmente.
    Finalmente, me quedan las dudas: ¿si yo quiero que el resultado redondeado me aparezca en B1 cual debería ser la macro? y si coloco un rango de datos: ¿me podria esta funcion ayudar a redondear todas de un porrazo o deberia hacer un ROUND por cada celda que quiero redondeado?

  7. Buenos días amigos,

    Apoyo a la mayoría de los comentarios sobre las distintas aplicaciones; en particular lo veo muy útil para los estudios(promedio de notas); por ejemplo si queremos saber si el alumno a aprobado o desaprobado en base a su promedio de notas (celda "B8") podemos usar la siguiente macro:

    Sub Compobar_apto()

    Dim final As String

    promedio = Round(Range("B8"))

    If promedio >= 11 Then final = "Aprobado" Else: final = "desaprobado"

    Range("D7").Value = final

    End Sub

  8. Buenas tardes Amigos

    Propongo la siguiente Macro donde se aplica la función ROUND, para determinar si un alumno a aprobado o desaprobado.

    Sub Compobar_apto()

    Dim final As String

    promedio = Round(Range("B8"))

    If promedio >= 11 Then final = "Aprobado" Else: final = "desaprobado"

    Range("D7").Value = final

    End Sub

  9. Excelente función, aunque siempre tendrá mayor impacto complementada con otras.
    Una buena aplicación es determinar si un alumno a aprobado o desaprobado un curso en base a su promedio final de notas.
    Saludos

    Sub Compobar_apto()
    Dim final As String
    promedio = Round(Range("B8"))
    If promedio >= 11 Then final = "Aprobado" Else: final = "desaprobado"
    Range("D7").Value = final
    End Sub

  10. Agregaría a la función un resultado de aprobado o no.

    If promedio >= 11 Then final = "Aprobado" Else: final = "desaprobado"

    Range("D7").Value = final

    Saludos

  11. Redondear un número a la cantidad de decimales especificados.

    Primero se debe validar el contenido de la celda antes de aplicar la función, asegurando así que se trate de un número (evitando un resultado de error).

    El Redondeo se realiza de la siguiente manera al suprimir las cifras especificadas:

    a) La última cifra que queda, PERMANECE IGUAL, si la primera cifra de las que salen es menor que 5.

    b) La última cifra que queda, SE INCREMENTA EN UNA UNIDAD, si la primera cifra de las que salen es mayor o igual que 5.

  12. Redondear un Número a la cantidad de decimales especificados.

    Primero se debe validar el contenido de la celda, antes de aplicar la función, asegurando que el contenido se trata de un número, para evitar errores del programa.

    Al suprimir las cifras especificadas, el redondeo se realiza de la siguiente manera:

    a) Si la Primera Cifra de las que salen (la que está mas a la izquierda) es MENOR QUE 5, entonces la última cifra de las que quedan PERMANECE IGUAL.

    b) Si la Primera Cifra de las que salen (la que está mas a la izquierda) es MAYOR O IGUAL QUE 5, entonces la última cifra de las que quedan SE INCREMENTA EN UNA UNIDAD.

  13. Redondear un número a la cantidad de decimales especificados.
    Primero se debe validar el contenido de la celda o ingreso, asegurando así que se trata de un número y evitar el error.
    Al suprimir las cifras especificadas, el redondeo se realiza de la siguiente manera:
    a) Si la primera cifra de las que salen es MENOR QUE 5, entonces la última cifra de las que quedan: PERMANECE IGUAL.
    b) Si la primera cifra de las que salen es MAYOR O IGUAL QUE 5, entonces la última cifra de las que quedan: SE INCREMENTA EN UNA UNIDAD.

  14. Redondear un numero a la cantidad de decimales especificados.
    Primero se debe validar el contenido de la celdas de ingreso, antes de aplicar la función, asegurando que el ingreso se trata de un numero, evitando asi errores del programa.
    Al suprimir las cifras especificadas el redondeo se realiza de la siguiente manera:
    -Si la primera cifra de las que salen es MENOR QUE 5, entonces la ultima cifra de las que quedan: PERMANECE IGUAL.
    -Si la primera cifra de las que salen es MAYOR O IGUAL QUE 5, entonces la ultima cifra de las que quedan: SE INCREMENTA EN UNA UNIDAD.

  15. Redondea un número a la cantidad de decimales especificada. Primero se debe validar el contenido de la celda antes de aplicar la función, asegurando así que el contenido se trate de un número, evitando así errores.
    Al suprimir las cifras el redondeo se realizará de la siguiente manera:
    -Si la primera cifra de las que se suprimen es MENOR QUE 5, entonces la última cifra de las que van a quedar PERMANECE IGUAL.
    -Si la primera cifra de las que se suprimen es MAYOR O IGUAL QUE 5, entonces la última cifra de las que van a quedar SE INCREMENTA EN UNA UNIDAD.

  16. si se quisiera usar esta programación para un lista de datos se puede hacer uso de la función contar filas y la programación en VBA sería:

    Sub redondear()
    u = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 1 To u
    valor = Round(Cells(i, 1), 1)
    MsgBox ("El valor redondeado es:" & valor)
    Next
    End Sub

  17. El comando Round funciona muy bien pero hecho la prueba con rounddown y no lo reconoces, como es la forma correcta de escribirlo? De igual forma quisiera saber si existe una forma de redondear hacia arriba directamente aunque el número sea 12.6 por ejemplo.

  18. Cuando se quiere usar roundup o rounddown solo veo que se pueda hacer si se graba la macro, porque si uno escribe la función no lo reconoce. Pero que pasa si se quiere usar dentro de una programación? porque yo copie el código de la macro grabada y me volvió a salir que no la reconoce.

  19. La función ROUND es de gran uso pues sirve para reducir el numero de decimales según se requiera la información. Por ejemplo, para la calificación de notas, hallar el número de máquinas u obreros que requiere un proceso, etc.

  20. La función Round también permite redondear un valor a las decenas, centenas o millares más cercanos. Si bien el valor numérico luego de la coma indica la cantidad de decimales que queremos mostrar, podemos utilizar el mismo valor numérico en negativo para redondear hacia la izquierda del punto decimal.

    Por ejemplo:

    Supongamos que tenemos el valor 157976 en la celda A1

    Round(Range(A1), -3)

    Devolverá como resultado 158000

    El valor numérico 0 representa los enteros. El 1 representa décimas, 2 representa centésimas y el 3 representa milésimas. De la misma manera encontramos que el -1 representa decenas, -2 representa centenas, -3 representa millares y así sucesivamente.

Página de comentarios 2 de 3
1 2 3

Deja una respuesta

Los campos requeridos estan marcados con *.