Excel Avanzado

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

Excel Avanzado

Función Fix con VBA

| 8 comentarios

¿Qué es una función Fix?

La función Fix es una función de ejecución VBA que permite truncar uno o más datos numéricos mediante la eliminación de sus cifras decimales. Ejemplos:

Fix (199.34324)=199
Fix (23.57)=23

La función Fix conserva el signo del dato numérico después de la aproximación. Ejemplos:

Fix(-3.6)=-3
Fix(-1.2)=-1

Utilidad particular

A primera instancia, podemos optar por aproximar un dato aplicando el formato "número" y eliminando los decimales. Sin embargo, esto nos otorgaría el entero al cual el número fraccionario es más cercano. Por ejemplo:

4.2=4
4.9=5
4.5=5
-4.9=-5

Cuando queremos simplemente eliminar todas las cifras decimales de una celda con formato "número" sin tener tal efecto de aproximación (para números positivos o negativos),  podemos usar la función Fix. Ejemplo:

Fix(4.2)=4
Fix(4.9)=4
Fix(4.5)=4
Fix(-4.9)=-4

Un caso típico es aquel donde queremos presentar las notas parciales de los estudiantes de un curso(con valores del 1 al 100), las cuales presentan 3 decimales. Truncaremos los valores fraccionarios a su valor entero con "Fix" ,ya que buscamos una presentación ordenada pero no queremos aproximar las notas parciales (por ejemplo, convertir 89.8 en 90) hasta sumarlas y tener la nota final.

Cabe resaltar que similar objetivo puede ser cumplido otorgándole a la celda con el dato numérico el formato "Personalizado" y eliminar las cifras decimales.

Aplicación con Macros

Se adjunta un documento en el cual queda ilustrada una forma de insertar datos numéricos con decimales y tener el resultado entero gracias a la función Fix.
Función Fix con VBA

_____
Elaborado por: Gonzalo Irujo Palacios

8 comentarios

  1. La función Fix permite redondear eliminando los decimales permitiendo conservar el signo. A diferencia de la función INT que permite redondear al valor inferior más próximo.

  2. La funcion Fix presenta como principal ventaja la aproximación de numeros positivos y negativos, manteniendo su respectivo signo. Sin embargo, no se encarga de rendondear propiamente el numero, ya que no respeta si el decimal es menor, mayor o igual a 5, para ello se encuentra la funcion CINT. A pesar de ello puede ser muy practica en casos de programas elaborados.

  3. Antes de usar esta función habría que pensar bien cuán útil es para el trabajo que se desea realizar ya que el redondeo lo hace sin respetar si el decimal es menor o mayor a 0.5. Si se desea un resultado más preciso es mejor usar la función CINT

  4. muy interesante la funciones,al igual que la función FIX también existe una función algo parecida llamada función INT, las cuales quitan la parte fraccionaria de un numero y devuelven el valor entero resultante.

    La diferencia entre las funciones Int y Fix es que si el valor Number es negativo, Int devuelve el primer entero negativo menor o igual que Numero, mientras que Fix devuelve el primer entero negativo mayor o igual que Numero. Por ejemplo, Int convierte -8,4 en -9 y Fix convierte -8,4 en -8.

    Fix(number)equivale aSign(number) * Int(Abs(number)).

  5. Cuando queremos simplemente eliminar todas las cifras decimales de una celda con formato “número” sin tener tal efecto de aproximación, es decir redondeo, sin importar que sea positivo o negativo, el signo se mantendrá.

  6. Esta función es una de las más usadas al presentar notas promedios al finalizar el curso o dado el fin de ciclo. Es de gran utilidad, ya que redondea el promedio final a su valor entero más aproximado, esto hace que una lista de 30 o 35 alumnos por curso sea de gran utilidad aplicándola en la primera casilla y luego arrastrando la fórmula para los siguientes.

  7. Esta función es muy sencilla y ,a la vez, importante. Te permite redondear tus notas y con ello tener claro tu nota final del curso. Esta función seria muy útil para los universitarios, quienes en todo momento están muy al pendiente de su progreso en el ciclo.

  8. Como se ha mencionado, esta función puede ser útil en ambientes universitarios dado que, dependiendo de las reglas de la institución, las notas pueden decidirse mediante truncamiento.

    Otra posibilidad (muy específica) es la de queramos calcular cuántos ladrillos (reemplácese por cualquier objeto sólido) pueden entrar en una habitación. Una vez calculado el volumen de la habitación y de los ladrillos (?), el resultado que daría dividir ambos números probablemente salga decimal. En este caso desearíamos truncar antes que redondear el resultado, puesto que un posible redondeo "hacia arriba" nos termine haciendo creer que la capacidad de la habitación es mayor a la realidad. Si bien es un ejemplo muy específico, creo que las circunstancias pueden adaptarse a distintos medios y, con distintas condiciones, repetirse.

Deja una respuesta

Los campos requeridos estan marcados con *.