Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede controlar cómo calcula los resultados la función personalizada al participar en el modo de vista previa del valor de fórmula. El modo de vista previa del valor de fórmula es una característica que permite a los usuarios finales seleccionar partes de una fórmula mientras editan la celda para obtener una vista previa de los valores. Esta característica ayuda a los usuarios a evaluar la fórmula a medida que la editan. En la imagen siguiente se muestra un ejemplo del usuario que edita una fórmula y selecciona el texto A1+A2. El modo de vista previa de fórmula muestra el valor 7 anterior.
De forma predeterminada, el usuario puede obtener una vista previa de las funciones personalizadas (por ejemplo =getHousePrice(A1)). Sin embargo, en la lista siguiente se muestran algunos escenarios en los que es posible que desee controlar cómo participa la función personalizada en el modo de vista previa del valor de fórmula.
- La función personalizada llama a una o varias API que cobran una tasa por usarlas.
- La función personalizada tiene acceso a uno o más recursos escasos, como bases de datos.
- La función personalizada tarda mucho tiempo en calcular el resultado y no sería útil para un usuario durante la versión preliminar.
Puede cambiar el comportamiento de la función personalizada para devolver un valor ficticio en su lugar. Para ello, use la invocation.isInValuePreview propiedad de solo lectura. En el ejemplo de código siguiente se muestra una función personalizada de ejemplo denominada getHousePrice que busca los precios de las casas a través de una API monetizada. Si isInValuePreview es true, la función personalizada devuelve un número ficticio que se va a usar y evita incurrir en ningún costo. Si isInValuePreview es false, la función personalizada llama a la API y devuelve el valor de precio de la casa real para su uso en la hoja de cálculo de Excel.
/**
* Get the listing price for a house on the market for the given address.
* @customfunction
* @param address The address of the house.
* @param invocation Custom function handler.
* @returns The price of the house at the address.
*/
export function getHousePrice(address: string, invocation: CustomFunctions.Invocation): number {
// Check if this call is for formula value preview mode.
if (invocation.isInValuePreview) {
// Avoid long-running expensive service calls.
// Return a useable but fake number.
return 450000;
} else {
// Make the actual service calls in this block.
const price = callHouseServiceAPI(address);
return price;
}
}