google-apps-script
Utwórz niestandardową funkcję dla Arkuszy Google
Szukaj…
Wprowadzenie
Funkcja niestandardowa w dokumentach google jest powiązana z określonym dokumentem (dlatego może być używana tylko w tym dokumencie).
Dlatego należy go utworzyć za pomocą edycji skryptu tego dokumentu (Narzędzia -> Edytor skryptów). Po zapisaniu można go używać jak każdej innej zwykłej formuły arkusza kalkulacyjnego.
Standardowa stała grawitacyjna
Ta funkcja zwraca standardową stałą grawitacji w określonych jednostkach przyspieszenia (1 dla cm / s², 2 dla ft / s², 3 dla m / s²)
/** * Returns the standard gravity constant in the specified acceleration units * Values taken from https://en.wikipedia.org/wiki/Standard_gravity on July 24, 2016. * * @param {number} input 1 for cm/s², 2 for ft/s², 3 for m/s² * * @customfunction */ function sg(units_key) { var value; switch(units_key) { case 1: value = 980.665; break; case 2: value = 32.1740; break; case 3: value = 9.80665; break; default: throw new Error('Must to specify 1, 2 or 3'); } return value; }
Aby użyć tej funkcji, należy ją powiązać z arkuszem kalkulacyjnym za pomocą edytora skryptów (Narzędzia -> Edytor skryptów ...). Po dodaniu funkcji można jej używać jak każdej innej funkcji arkuszy google, wywołując funkcję w formule komórki.
Zwróć uwagę, jak funkcja wyświetla się w autouzupełnianiu po wpisaniu do formuły. Wynika to z wielowierszowego komentarza nad deklaracją funkcji, który służy do opisania tego, co funkcja robi podobnie do JSDoc i Javadoc. Aby formuła pojawiła się w autouzupełnianiu, w komentarzu należy podać tag @customfunction.
Podstawowy przykład
Aby uniknąć nieestetycznych błędów #DIV/0
w arkuszu kalkulacyjnym, można użyć funkcji niestandardowej.
/**
* Divides n by d unless d is zero, in which case, it returns
* the given symbol.
*
* @param {n} number The numerator
* @param {d} number The divisor
* @param {symbol} string The symbol to display if `d == 0`
* @return {number or string} The result of division or the given symbol
*
* @customfunction
*/
function zeroSafeDivide(n, d, symbol) {
if (d == 0)
return symbol;
else
return n / d;
}
Aby użyć tej funkcji, należy ją powiązać z arkuszem kalkulacyjnym za pomocą edytora skryptów ( Narzędzia -> Edytor skryptów ... ). Po dodaniu funkcji można jej używać jak każdej innej funkcji arkuszy google, wywołując funkcję w formule komórki.
Zwróć uwagę, jak funkcja wyświetla się w autouzupełnianiu po wpisaniu do formuły. Wynika to z wielowierszowego komentarza nad deklaracją funkcji, który służy do opisania tego, co funkcja robi podobnie do JSDoc i Javadoc. Aby formuła @customfunction
się w autouzupełnianiu, w @customfunction
należy @customfunction
tag @customfunction
.