google-apps-script
Skapa en anpassad funktion för Google Sheets
Sök…
Introduktion
En anpassad funktion i google docs är knuten till ett specifikt dokument (och kan därför endast användas i det dokumentet).
Det måste därför skapas med dokumentets skriptredigering (Verktyg -> Skriptedigerare). När den har sparats kan den sedan användas som alla andra vanliga kalkylbladformler.
Standardtyngd anpassad konstant
Denna funktion returnerar den normala gravitationskonstanten i de specificerade accelerationsenheterna (1 för cm / s², 2 för ft / s², 3 för 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;
}
För att använda funktionen måste den vara bunden till ett kalkylblad med skriptredigeraren (Verktyg -> Skriptedigerare ...). När funktionen har lagts till kan den användas som alla andra Google-arkfunktioner genom att anropa funktionen i en cellformel.
Lägg märke till hur funktionen dyker upp i autofyllt när den skrivs in i en formel. Detta beror på den flerfaldiga kommentaren ovanför funktionsdeklarationen som används för att beskriva vad funktionen gör liknar JSDoc och Javadoc. För att formeln ska visas i autocomplete måste @customfunction-taggen anges i kommentaren.
Grundläggande exempel
För att undvika fula #DIV/0 fel i ett kalkylblad kan en anpassad funktion användas.
/**
* 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;
}
För att använda funktionen måste den vara bunden till ett kalkylblad med skriptredigeraren ( Verktyg -> Skriptedigerare ... ). När funktionen har lagts till kan den användas som alla andra Google-arkfunktioner genom att anropa funktionen i en cellformel.
Lägg märke till hur funktionen dyker upp i autofyllt när den skrivs in i en formel. Detta beror på den flerfaldiga kommentaren ovanför funktionsdeklarationen som används för att beskriva vad funktionen gör liknar JSDoc och Javadoc. För att formeln ska visas i @customfunction måste @customfunction taggen anges i kommentaren.
