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 .
