Cómo crear funciones personalizadas en Excel

¿Sabías que es posible desarrollar funciones personalizadas en Excel? Se denominan ‘funciones definidas por el usuario’ y permiten optimizar procesos y cálculos. Te cuento en este artículo como hacerlo.

(La fecha original de publicación de este artículo es el 17 de mayo de 2018, por eso tiene tantas visitas. La nueva fecha corresponde al día de actualización del contenido).

Funciones personalizadas en Excel

¿Qué es una función de Excel?

Una función de Excel es una fórmula o un cálculo predefinido, que a partir de uno o varios valores devuelve un resultado. En Excel hay muchas funciones estándar disponibles para el usuario, como por ejemplo: SUMA, MAX, CONTAR, BUSCARV, etc. Seguro que conoces muchas más 😉

¿Por qué es interesante crear funciones personalizadas?

Porque aunque Excel tiene una lista extensa de funciones, en ocasiones determinados cálculos y operaciones requieren formulaciones específicas para evitar desarrollos complejos y hojas de cálculo poco intuitivas, sobre todo si se trata de procesos repetitivos.

Vamos a poner un ejemplo

Supongamos que trabajamos con una hoja de cálculo en la que sistemáticamente tenemos que calcular el volumen de esferas. Es cierto que la fórmula del volumen de una esfera no es complicada, pero en este caso nos viene muy bien para ilustrar el tema.

El volumen de una esfera es igual a cuatro tercios de pi multiplicado por el radio de dicha esfera elevado al cubo, es decir: 4/3 x PI x Radio^3.

Por lo tanto, si queremos hacer este cálculo, tenemos que escribir en nuestra hoja de cálculo lo siguiente:

La fórmula toma como dato de partida el Radio de la esfera, situado en la celda B3, y aplica la fórmula que hemos visto anteriormente. Si pulsamos -Enter- obtenemos el resultado del volumen de una esfera de Radio = 5, que es el valor actual de la celda B3.

Vamos ahora a definir una Función Personalizada que nos calcule automáticamente el volumen de una esfera. Para ello, debemos entrar en el editor de Visual Basic para Aplicaciones pulsando Alt + F11, crear un módulo de programación y escribir el código siguiente:

Si no tienes experiencia en macros y VBA, puedes empezar echando un vistazo al artículo: Hacer macros en Excel no es tan complicado.

Seguimos con nuestra función…

Hemos definido la función ESFERA mediante la instrucción Function:

Function ESFERA(Radio As Double)

Le stamos diciendo a VBA que queremos que nuestra función se llame ESFERA y que el dato de entrada sea la variable Radio, que es de tipo Double (decimal de doble precisión).

A continuación definimos la función, con la fórmula ya comentada, incluyendo la variable (o las variables) implicadas. En este caso, sólo el Radio.

ESFERA = 4 / 3 * 3.1416 * Radio ^ 3

Por último, cerramos la función con:

End Function

Ya tenemos nuestra función definida y lista para ser utilizada en nuestra hoja de cálculo. Escribimos en cualquier celda lo siguiente:

Y obtenemos el resultado del volumen de una esfera de Radio = 5, que es el valor que hemos incluido en la función. ¡Muy fácil!

Espero que el contenido del post os haya parecido interesante y que a partir de hoy podáis crear vuestras propias funciones en Excel. En próximos artículos veremos más ejemplos interesantes.

¡Saludos!
Gerardo Marote.