Excel函数的多个参数

我需要检查多个单元格,如果所有单元格中的值都是数字,则返回TRUE。 例:

A2,A4, A5,A8,A12,A16 <p> 

目前我正在写公式如下:

 =IF(AND(ISNUMBER(A2),ISNUMBER(A4),ISNUMBER(A5),ISNUMBER(A8),ISNUMBER(A12),ISNUMBER(A16)),"All Numbers","Some not numbers") 

有没有办法用只有一个单元格数组传递给它的ISNUMBER函数来编写公式?

如果这些数字只会是非零和正数:

 =IF(INDEX(FREQUENCY((A2,A4,A5,A8,A12,A16),0),2)=COUNTA(A2,A4,A5,A8,A12,A16),"All Numbers","Some not numbers") 

除此以外:

 =IF(SUM(COUNTIF(INDIRECT({"A2","A4","A5","A8","A12","A16"}),{">=0";"<0"}))=COUNTA(INDIRECT({"A2","A4","A5","A8","A12","A16"})),"All Numbers","Some not numbers") 

如果您正在执行此检查的单元格范围是固定的,而不是dynamic的,那么我们可以将它们缩短为:

 =IF(INDEX(FREQUENCY((A2,A4,A5,A8,A12,A16),0),2)=6,"All Numbers","Some not numbers") 

要么:

 =IF(SUM(COUNTIF(INDIRECT({"A2","A4","A5","A8","A12","A16"}),{">=0";"<0"}))=6,"All Numbers","Some not numbers") 

问候

如果你想检查的单元格是在一个连续的数组中,你可以使用一个数组公式和isnumber函数:

=ISNUMBER(A2:A5) ,然后按ctrl+shift+enter而不是enter 。 当你再看单元格时,公式应该用大括号括起来,如{=ISNUMBER(A2:A5)}

如果单元格不在连续的数组中,这将不起作用

好吧,坦率地说..因为你希望他们在这些单元格上input数字,为什么你不使用数据validation? (可以在“数据”选项卡>“数据validation”中find)。 select十进制,你甚至可以设置从最小值到最大值的范围。 我个人认为这是对你的情况更为健全的解决scheme,因为用户将不能input数字以外的值。

COUNT函数只计算数字(不是文本或错误值或逻辑值或空白),所以此公式将给出与具有多个ISNUMBER函数的当前公式相同的结果

=IF(COUNT(A2,A4,A5,A8,A12,A16)=6,"All Numbers","Some not numbers")