Trabalhar com o modo de visualização de valor de fórmula em funções personalizadas

O modo de visualização do valor da fórmula ajuda os usuários a avaliar uma fórmula enquanto a editam. Quando um usuário seleciona parte de uma fórmula, o Excel calcula e exibe o valor selecionado. Por exemplo, a imagem a seguir mostra um valor de visualização de 7 para a expressão A1+A2selecionada .

Captura de tela do editor de fórmulas do Excel com A1+A2 selecionado e um valor de visualização de 7 exibido acima do editor de fórmulas.

Por padrão, o Excel executa uma função personalizada durante a visualização do valor da fórmula. Esse comportamento pode causar problemas dependendo do que sua função personalizada faz. Use a propriedade somente invocation.isInValuePreview leitura para detectar um cálculo de visualização e retornar um valor fictício quando o cálculo completo for:

  • Chame uma API limitada.
  • Acesse um recurso limitado, como um banco de dados.
  • Demora muito para fornecer uma visualização útil.

A função personalizada a seguir getHousePrice retorna um preço simulado durante a versão prévia. Para um cálculo padrão, ele chama o serviço limitado e retorna o preço real.

/**
 * 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;
  }
}

Confira também