通常の数値、パーセンテージ、または通貨として渡されるセル値を関数で処理できるようにしたいと考えています。現在、単純な数字のみが機能しますが、通貨で試してみるとエラーが発生します:
/**
* Returns the sum of a geometric serie
*
* @param {number} a0 The first element of the serie
* @param {number} q The ratio
* @param {number} n Number of elements to sum
* @return The sum of first n elements.
* @customfunction
*/
function SUMGEOMSERIE(a0, q, n) {
if (typeof a0 != 'number') {//|| (typeof q != 'number') || (typeof n != 'number') {
return null;
}
if (q==1)
return a0*n;
else
return a0*(1-Math.pow(q, n))/(1-q);
}
アップデート
入力として関数に渡すセルが「複雑な」計算 (3 ステップの「バックトラッキング」) の結果である場合、エラーが発生します。