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.