非空单元格计数函数counta的用法
今天解说一下counta这个函数,它的作用是计算区域中非空单元格的个数。它可以计算包含任何类型的信息的单元格,比如错误值和空文本 ("")。但它不会对空单元格进行计数。
-01-
函数说明
函数写法如下,最多包含255个参数
COUNTA(value1, [value2], ...)
value1 必需。 表示要计数的值的第一个参数,可以是任意类型的数据。
[value2], ... 可选。 表示要计数的值的其他参数,最多可包含255个参数。可以是任意类型的数据。
注意:
counta函数计算包含任何类型的信息(包括错误值和空文本 (""))的单元格。例如,如果区域中包含的公式返回空文本,counta函数计算该值。counta函数不会对空单元格进行计数。
-02-
示例解释
1.计算非空单元格的个数
下图A列有一些数据,计算其中非空单元格的个数,在C1单元格输入公式=COUNTA(A1:A7),结果为6。A1:A7这个区域中有数字,逻辑值,错误值,文本,还有空单元格。它只计算除了空单元格以外的其他单元格的个数。可以看到它的结果不受错误值的影响,它把错误值所在的单元格也统计进去了。
然后我在A8单元格输入公式=MID(12,3,1),将C1单元格的公式改为=COUNTA(A1:A8),结果为7。你可能会说非空单元格不是还是6个吗?实际上=MID(12,3,1)返回空文本"",虽然我们眼睛看上去是空的,实际是有内容的,而且counta会把空文本所在的单元格计算进去。
可以总结,空单元格指的是没有填写任何内容的单元格,而不是你眼睛看到的是空的单元格。
-03-
具体应用
1.自动填充序号
在A12单元中输入公式=IF(B12="","",COUNTA(B$12:B12)),下拉完成。随着记录的增加或删除,序号会自动改变。函数就不详细说明了,可以自己研究一下,比较简单。
下面演示一下它的变化。随着记录的增加或者删除,序号会自动变化。而且隔行删除时,它也会自动改变,实现跳过空单元格填充序号。
2.动态区域引用
结合offset可以实现动态的区域引用,在A22:A30这个区域中是一些水果,随着水果的添加,区域也会跟着自动扩展。比如最开始有梨子,香蕉,苹果3种水果,它的区域是A22:A24。当在下面添加个火龙果的时候,区域自动扩展为A22:A25。它的公式为=OFFSET(A22,,,COUNTA(A22:A30))。
利用动态区域引用可以做很多东西,比如下面是一个数据验证。当增加一个水果时,数据验证那里也会自动增加。
第1步先将公式复制一下,选择你要设置数据验证的单元格,然后点数据验证。
下一步选择序列。
最后在序列来源中粘贴复制的公式,确定,完成。
链接:
https://pan.baidu.com/s/1bTOZ9VaVL6P1di-DRuPg6Q
提取码:6qm6