Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können steuern, wie Ihre benutzerdefinierte Funktion Ergebnisse berechnet, wenn sie im Vorschaumodus für Formelwerte verwendet wird. Der Vorschaumodus für Formelwerte ist ein Feature, mit dem Endbenutzer Teile einer Formel auswählen können, während sie die Zelle bearbeiten, um eine Vorschau der Werte anzuzeigen. Dieses Feature hilft Benutzern, die Formel während der Bearbeitung auszuwerten. Die folgende Abbildung zeigt ein Beispiel dafür, wie der Benutzer eine Formel bearbeitet und den Text A1+A2auswählt. Der Formelvorschaumodus zeigt den obigen Wert 7 an.
Standardmäßig können benutzerdefinierte Funktionen (z. B =getHousePrice(A1). ) vom Benutzer in der Vorschau angezeigt werden. Die folgende Liste enthält jedoch einige Szenarien, in denen Sie möglicherweise steuern möchten, wie Ihre benutzerdefinierte Funktion im Vorschaumodus für Formelwerte verwendet wird.
- Ihre benutzerdefinierte Funktion ruft eine oder mehrere APIs auf, die eine Gebühr für deren Verwendung berechnen.
- Ihre benutzerdefinierte Funktion greift auf eine oder mehrere knappe Ressourcen wie Datenbanken zu.
- Ihre benutzerdefinierte Funktion benötigt viel Zeit, um das Ergebnis zu berechnen, und sie wäre für einen Benutzer während der Vorschau nicht nützlich.
Sie können das Verhalten Ihrer benutzerdefinierten Funktion ändern, um stattdessen einen Pseudowert zurückzugeben. Verwenden Sie dazu die invocation.isInValuePreview schreibgeschützte Eigenschaft. Das folgende Codebeispiel zeigt eine benutzerdefinierte Beispielfunktion namens getHousePrice , die Hauspreise über eine monetarisierte API sucht. Wenn isInValuePreview ist true, gibt die benutzerdefinierte Funktion eine zu verwendende Modellnummer zurück und vermeidet Kosten. Wenn isInValuePreview ist false, ruft die benutzerdefinierte Funktion die API auf und gibt den tatsächlichen Hauspreiswert für die Verwendung in der Excel-Tabelle zurück.
/**
* 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;
}
}
Siehe auch
Office Add-ins