Hola a todos:
Si en los post anteriores relacionados con typescript os hacía referencia a automatizaciones similares a las subrutinas de VBA, creo que ahora es importante ver algún ejemplo de una UDF (Función definida por el usuario) de typescript creada en el laboratorio de scribs (Script Lab).
Antes de nada el ejemplo que vamos a usar es el de este post: EJEMPLO PRÁCTICO DE ALGUNOS CÁLCULOS CON TYPESCRIPT
Se trata de crear una función que nos devuelva el coste empresa de una serie de empleados. En concreto, son una serie de científicos que trabajan en un centro de alta seguridad.

Ahora que sabemos nuestro objetivo vamos a comenzar. Como todos sabéis Typescript actualmente está disponible en versiones de Excel Online pero cuyas licencias sean Enterprise E3 y E5.
Para crear una función debemos acceder a la pestaña Script Lab de la cinta de opciones de Excel Online:

Y pulsaremos en «CODE», y entonces copiamos y pegamos el siguiente código el editor:
/** @CustomFunction */
function CALCULO_COSTE(Minumero: number): number {
if (Minumero <
+('48841.2')) {
Minumero = Minumero * 33.5 / 100;
} else {
Minumero = +('48841.2') * 33.5 / 100;
}
return Minumero;
}
Y a continuación pulsamos en REGISTER:
Una vez que lo tenemos hecho, podemos ver la función correctamente publicada:

Ahora simplemente nos colocamos en una celda, escribimos « = CALCULO_COSTE» y se nos mostrará la función para que podamos incluir los argumentos (en este caso solo necesitamos uno, «Minumero»):


Y el resultado sería este:

Como véis el resultado es el mismo que el del post del ejemplo inicial y para finalizar podemos sumar el resultado:

Y esto es todo!, ya tenemos nuestra propia función en Excel Online sin necesidad de VBA ni lambdas 🙂
Espero que os sea de utilidad y por favor, tened en cuenta que se trata de un ejemplo muy determinado y simple para obtener el coste de empresa (puede ser más complejo de calcular).
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies