在新的Google电子表格中,COUNTA在引用属于arrayformula(在arrayformula列中)的空单元格时计算空白单元格。旧的谷歌电子表格不是这种情况,其中COUNTA给出了预期的结果(0)。 其他公式同样受到影响吗? 任何解决方法?
答案 0 :(得分:3)
是的,在新版本的表格中,COUNTA处理零长度文本字符串的方式有has been a change in behaviour。
在新的Google电子表格中,COUNTA正在计算空白单元格 引用属于arrayformula(在一个数组中)的空单元格 arrayformula专栏)。老谷歌的情况并非如此 电子表格,其中COUNTA给出预期结果(0)。
据推测,您引用的空单元格在数组公式中填充了“”。在新版本的表格中,这些单元格被计算在内,你是正确的,在旧版本中它们不是。对于它的价值,新行为与MS Excel中发生的行为一致。
其他公式是否同样受到影响?
是的,SORT函数(以及使用内置排序工具执行原位排序)现在将在数字和日期之后,在其他文本字符串之前对零长度文本字符串进行排序,而在零长度之前文本字符串被推到排序的底部(但在真正空白的单元格之前)。同样,这种新的排序行为与MS Excel一致。
任何解决方法?
我认为最好的解决方法是在IF公式中放弃使用“”。在新版本的Sheets中,如果省略IF函数的第二个或第三个参数,并且函数求值为该参数,则返回一个真正空白的单元格(无论如何,在写这个时)。所以不要使用像:
这样的东西=ArrayFormula(IF(A2:A>25, "something",""))
使用:
=ArrayFormula(IF(A2:A>25, "something",))
并且COUNTA不会计算空白单元格。
答案 1 :(得分:2)
虽然如果在ArrayFormula中只有一个If语句,但是如果嵌套的Ifs不是一个选择(因为在ArrayFormula中没有OR或AND),则删除第三个参数将起作用。但是,从CountIF for non-blank cells in the Google Docs forum开始,我有了尝试以下内容的想法:
countif(P4:P,">""")
它完美无缺。