Hay operaciones que pueden ser muy habituales de hacer con Excel y para las que necesitaríamos una función propia que las realizara. A continuación, vamos a plantear una situación en la que es especialmente útil crear una función específica y guardarla en el libro de macros personal para utilizarla en nuestras sesiones.

En este caso concreto, vamos a crear una función que nos redondee un número a 0 o 0,5; es decir, 6,3 valdría 6 y 6,7 valdría 6,5. Para realizarlo sin una función específica emplearíamos múltiples funciones de Excel, por ejemplo:

=ENTERO(6,3) + (SI(RESIDUO(6,3; 1) >= 0,5; 0,5; 0))

Cada celda habría de tener esta fórmula para realizar el redondeo. Pero podemos crear nuestra propia función en el libro de macros personal. Para ello hacemos ALT + F11 y nos vamos al módulo de macros personal (si no existe, debemos crearlo). Allí será donde definamos nuestra función. Esta función recibe un número con decimales y devuelve el número redondeado. La sintaxis sería:

Function redondea05(numero As Double) As Double
    Dim entero As Long
    Dim decima As Double

    ' Obtenemos la parte entera
    entero = Int(numero)
    
    ' Obtenemos la parte decimal
    decima = numero - entero
    
    ' Hacemos un condicional para redondear
    If decima < 0.5 Then
        redondea05 = entero
    Else
        redondea05 = entero + 0.5
    End If
End Function

Un código sencillo que hace prácticamente lo mismo que la combinación de funciones de Excel. Ahora sólo debemos poner en una celda de nuestra tabla:

=redondea05(6,7)

Ya tenemos nuestra función disponible para cualquier sesión de Excel. Truco sencillo y al que seguro buscáis utilidad.

Como siempre, si alguien tiene dudas, sugerencias o un trabajo bien retribuido… rvaquerizo@analisisydecision.es. Saludos.