Utiliser le mode d’aperçu de la valeur de formule dans vos fonctions personnalisées

Le mode aperçu de valeur de formule permet aux utilisateurs d’évaluer une formule pendant qu’ils la modifient. Lorsqu’un utilisateur sélectionne une partie d’une formule, Excel calcule et affiche la valeur sélectionnée. Par exemple, l’image suivante montre une valeur d’aperçu de 7 pour l’expression A1+A2sélectionnée .

Capture d’écran de l’éditeur de formule Excel avec A1+A2 sélectionné et une valeur d’aperçu de 7 affichée au-dessus de l’éditeur de formule.

Par défaut, Excel exécute une fonction personnalisée pendant l’aperçu de la valeur de formule. Ce comportement peut entraîner des problèmes en fonction de l’action de votre fonction personnalisée. Utilisez la propriété en lecture seule invocation.isInValuePreview pour détecter un calcul d’aperçu et retourner une valeur fictive lorsque le calcul complet :

  • Appelez une API limitée.
  • Accéder à une ressource limitée, telle qu’une base de données.
  • Prendre trop de temps pour fournir un aperçu utile.

La fonction personnalisée suivante getHousePrice retourne un prix fictif pendant la préversion. Pour un calcul standard, il appelle le service à l’utilisation et retourne le prix réel.

/**
 * 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 usable but fake number.
    return 450000;
  } else {
    // Make the actual service calls in this block.
    const price = callHouseServiceAPI(address);
    return price;
  }
}

Voir aussi