当执行此添加总功能时,我在添加所选单元格时所做的操作说结果不是数字,但是所选单元格只有数字。
function ADDTOTAL(ref1, ref2) {
var Number1 = ref1;
var Number2 = ref2;
var Number = Math.floor(Number1+Number2);
return Number;
}
它返回#NUM!并说结果不是数字,我对此并不陌生,不知道它是什么。
答案 0 :(得分:1)
我设法复制了您的问题。
您正在传递字符串而不是单元格引用:
或用作引用的单元格的值是字符串。例如"3 "
是一个字符串,因为它有多余的空间,而且3
的格式也设置为字符串:
无论哪种方式,您都传递字符串,但由于您要进行数学运算,因此参数必须为数字。
要确保单元格的值是数字,请执行=ISNUMBER(A1)
。如果返回TRUE
,则表示A1
的值是一个数字。要将字符串数字转换为实际数字,请选择单元格,然后转到顶部菜单上的Format => Number => Number
。
请记住,如果将"3"
和"1"
这样的两个字符串加在一起,您将不会得到4
而是31
。我故意将格式更改为纯文本。在这种情况下,=isnumber(A1)
将再次为FALSE
:
假设这些单元格是实际数字,则可以使用以下选项:
最后但并非最不重要的是,您可以使用parseFloat将输入参数转换为数字:
function ADDTOTAL(ref1, ref2) {
var Number1 = parseFloat(ref1);
var Number2 = parseFloat(ref2);
var Number = Math.floor(Number1+Number2);
return Number;
}