我希望我的函数能够处理作为常规数字、百分比或货币传递的单元格值。目前只有纯数字有效,但当我用货币尝试时,它会产生错误:
/**
* 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 步“回溯”)的结果时,会发生错误。