以下是引用danis在2007-8-3 14:32:50的发言:对不起,附件忘记上传 数据 | | | 销售 | | | 39790 | | | | | | 19 | | | 22.24 | | | TRUE | | | #DIV/0! | | | 公式 | 说明(结果) | | 7 | 计算上列数据中非空单元格以及包含数值 2 的单元格个数 (7) | =COUNTA(C49:C55,2) | 7 | 计算上列数据中非空单元格以及值“Two”的个数 (7) | =COUNTA(C49:C55,"Two") |
这个是Excel函数帮助文件中的示例。原公式是:=CONTA(A1:A7,2),我想,最容易混淆的一句话就是:“计算上列数据中非空单元格以及包含数值 2 的单元格个数 (7)”。 首先,单元格A1:A7中,共有6个非空单元格(含文本、数值、错误值、逻辑值),这是数得过来的。 其次,=COUNTA(A1:A7,2)的第2参数2,是作为单独一个参数来计算的,而这个参数中只有数字2这么1条记录,因此公式结果=6+1=7。 帮助说明那句话的中文意思很容易误解为这两种意思: (1)……的单元格个数是7。 因为第2参数2,并不占用单元格,所以此时把它也算单元格个数,感觉有些奇怪。 (2)……包含数值2的单元格 个数是7。(楼上朋友,您正是这种误解) 此时会认为更奇怪,我仅仅是在“个数”前面用空格隔远些,意思就变成7个单元格中,包含有数值2的单元格比如:22.4等单元格个数,则按示例应该是1,怎么会是7。这个意思实际应该用公式:=COUNTIF(A1:A7,"*2*"),并且要22.4为文本格式。 再回过头来说: =COUNTA(2,{3,"TWO"})应该等于多少?答案是3。此时,我们抛开单元格,而单纯用参数来计算。数值2作为单独参数,算1条记录。数组{3,"Two"}作为单独参数,算2条记录(数值3和文本"two")。所以公式得数是3。 同理: =COUNTA(2,{3,"TWO"},"")得数是4,有人会觉得奇怪,不是计算“非空值”吗,""怎么也算一个?这个请看[答疑解惑]帖,""是空文本,是一个字符长度为0的文本,真正的“空”是什么也没有,干干净净的。
[此贴子已经被作者于2007-8-9 8:46:16编辑过] |