COUNTIF计算区域中满足给定条件的单元格的个数。语法COUNTIF(range,criteria)Range为需要计算其中满足条件的单元格数目的单元格区域。Criteria为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式、单元格引用或文本。例如,条件可以表示为32、32、32、apples或B4。说明MicrosoftExcel还提供了其他一些函数,它们可根据条件来分析数据。若要计算基于一个文本字符串或某范围内的一个数值的总和,可使用SUMIF工作表函数。若要使公式返回两个基于条件的值之一,例如某指定销售金额的销售红利,可使用IF工作表函数。若要计算空或非空单元格的个数,可使用COUNTA和COUNTBLANK函数。示例1:通用COUNTIF公式AB1数据数据2apples323oranges544peaches755apples86公式说明(结果)=COUNTIF(A2:A5,apples)计算第一列中苹果所在单元格的个数(2)=COUNTIF(A2:A5,A4)计算第一列中桃所在单元格的个数(2)=COUNTIF(A2:A5,A3)+COUNTIF(A2:A5,A2)计算第一列中柑桔和苹果所在单元格的个数(3)=COUNTIF(B2:B5,55)计算第二列中值大于55的单元格个数(2)=COUNTIF(B2:B5,&B4)计算第二列中值不等于75的单元格个数(2)=COUNTIF(B2:B5,=32)-COUNTIF(B2:B5,85)计算第二列中值大于或等于32且小于或等于85的单元格个数(3)示例2:在COUNTIF公式中使用通配符和处理空值AB1数据数据2applesYes34orangesNO5peachesNo67applesYeS公式说明(结果)=COUNTIF(A2:A7,*es)计算第一列中以字母“les”结尾的单元格个数(4)=COUNTIF(A2:A7,?????es)计算第一列中以“les”结尾且恰好有8位字符的单元格个数(2)=COUNTIF(A2:A7,*)计算第一列中包含文本的单元格个数(4)=COUNTIF(A2:A7,&*)计算第一列中不包含文本的单元格个数(2)=COUNTIF(B2:B7,No)/ROWS(B2:B7)计算第二列中“No”选票(包括空白单元格)的平均数,并将其换算为不带小数位的百分比(33%)=COUNTIF(B2:B7,Yes)/(ROWS(B2:B7)-COUNTIF(B2:B7,&*))计算第二列中“Yes”选票(不包括空白单元格)的平均数,并将其换算为不带小数位的百分比(50%)若要以百分比形式查看数字,请选中单元格并单击“格式”菜单上的“单元格”。单击“数字”选项卡,然后单击“分类”框中的“百分比”。计算大于或小于某个数的数字个数可用COUNTIF函数执行该任务。AB1销售人员发票2Buchanan15,0003Buchanan9,0004Suyama8,0005Suyama20,0006Buchanan5,0007Dodsworth22,500公式说明(结果)=COUNTIF(B1:B6,9000)大于9000的数字的个数(3)=COUNTIF(B1:B6,=9000)小于或等于9000的数字的个数(3)可通过使用条件格式和COUNTIF函数在一系列数据中查找重复数据。下面是如何使其奏效的详细信息。设置首个条件格式公式我将从对第一个数据单元格设置条件格式入手,稍后将对整个区域复制此条件格式。在我的示例中,单元格A1包含的是列标题(发票),所以我将选中单元格A2,然后单击“格式”菜单上的“条件格式”。将打开“条件格式”对话框。第一个框中包含的是文本“单元格数值”。如果单击此框旁边的箭头,则可以选择“公式”。单击“公式”后,对话框会变样。现在显示的不是“介于”x与y,而是一个公式框。此公式框的强大令人难以置信。可用其输入任何想到的公式,只要公式的计算结果为TRUE或FALSE。在本例中,我们需要使用COUNTIF公式,要键入此框的公式为:=COUNTIF(A:A,A2)1此公式的含义是:彻底查看列A的整个区域。计算此区域内有多少单元格的值与单元格A2相同。然后进行对比以确定该计数是否大于1。没有重复数据时,计数将始终为1;因为单元格A2在该区域内,所以我们将在列A中恰好找到一个包含的值与A2相同的单元格。注释在此公式中,A2代表当前单元格—也就是正在对其设置条件格式的单元格。所以,如果数据位于列E中,而且您正在单元格E5中设置首个条件格式,则此公式将是=COUNTIF(E:E,E5)1。选择突出显示重复条目的颜色现在是选择令人生厌的(也就是显而易见的)格式,以标识找到的重复数据的时候了。在“条件格式”对话框中,单击“格式”按钮。单击“图案”选项卡,然后单击一种鲜艳的色样,如红色或黄色。然后单击“确定”以关闭“单元格格式”对话框。您将在预览框中看到选定的格式,单击“确定”以关闭“条件格式”对话框,然后……没有任何反应。哇。如果这是第一次设置条件格式,则此时得到其已奏效的反馈将是非常令人愉快的。但是,除非运气很好,单元格A2中的数据与某个其他单元格中的数据是重复的,否则条件将为FALSE并且不会应用格式。将条件格式复制到其余的单元格中需要将条件格式从单元格A2向下复制到区域内的其他单元格中。让光标仍在A2中,单击“编辑”菜单上的“复制”。按Ctrl+空格键以选择整列。然后单击“编辑”菜单上的“选择性粘贴”。在“选择性粘贴”对话框中,单击“格式”,然后单击“确定”。这会将条件格式复制到该列中的所有单元格内。现在终于可以看到某些单元格带有彩色填充格式了,这表明有重复的数据。转到单元格A3并查看其条件格式(从A2将其复制过来之后)可以得到一些信息。选择单元格A3并单击“格式”菜单上的“条件格式”。“公式”框中的公式已变为计算单元格A3中的数据出现在列A中的次数。可对最多65536个单元格应用条件格式,其中每个单元格都将当前单元格与65535个其他单元格相比较。从技术角度来看,第一步中的公式也可能是=COUNTIF($A$2:$A$1751,A2)1。此外,将条件格式复制到整列中时,您可能只选择了其中包含使用“选择性粘贴”命令之前的数据的单元格。只突出显示重复数据的第二个实例前面的解决方案假定您要突出显示两个重复的发票号,以人工方式判断要删除或纠正的号码。如果不想标记出现的第一处重复数据,则可以将公式改为:=COUNTIF($A$2:$A2,A2)1注释按所示的公式输入美元符号是很重要的。在此公式的第一个参数中,只有对数据区域的第二个单元格的引用会随其向下复制的过程而变化。这意味着在查找重复条目时,此公式将只对从当前单元格向上直到数据区域第一个单元格的单元格进行比较。对数据进行排序实际上不能根据条件格式对某列进行排序。如果要对数据进行排序,以使重复数据位于同一区域,请按照下列步骤操作:首先,在单元格B1中键入标题重复,然后将下面的公式键入B2中:=COUNTIF(A:A,A2)1让光标在单元格B2中,双击自动填充控点(单元格右下角的小方块),将此公式在列中一直向下复制。现在可以先按列B(降序)然后按列A(升序)对各列进行排序了,以在区域顶部显示重复的发票号。计算数据区域中值重复出现的次数或不重复的值的个数可以计算数据区域中一个值出现的次数,也可以计算不重复的值的个数。以下各部分介绍了通用解决方案。计算文本或数字值重复出现的次数有时您希望了解某一特定的值出现的次数。例如,如果一个区域包含数字值5、6、7、6,那么数字6就出现了2次。如果一列中包含“Buchanan”、“Dodsworth”、“Dodsworth”、“Dodsworth”,那么“Dodsworth”就出现了3次。可用COUNTIF函数执行该任务。AB1销售人员发票2Buchanan15,0003Buchanan9,0004Suyama8,0005Suyama20,0006Buchanan5,0007Dodsworth22,500公式说明(结果)=COUNTIF(A2:A7,Buchanan)Buchanan的发票数(3)=COUNTIF(A2:A7,A4)Suyama的发票数(2)=COUNTIF(B2:B7,20000)发票数的值小于20,000(4)=COUNTIF(B2:B7,=&B5)发票数的值大于20,000(2)以下示例中的公式使用了:IF函数,以便为每个真条件指定值“1”。SUM函数,以计算总数。AB1销售人员发票2Buchanan15,0003Buchanan9,0004Suyama8,0005Suyama20,0006Buchanan5,0007Dodsworth22,500公式说明(结果)=SUM(IF((A2:A7=Buchanan)+(A2:A7=Dodsworth),1,0))Buchanan或Dodsworth的发票数(4)=SUM(IF((B2:B79000)+(B2:B719000),1,0))面额小于9000或大于19000的发票数(4)=SUM(IF(A2:A7=Buchanan,IF(B2:B79000,1,0)))Buchanan的发票中面额小于9,000的发票数(1)本示例中的公式必须以数组公式(数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号({})中。按Ctrl+Shift+Enter可以输入数组公式。)的形式输入。选择每个包含公式的单元格,按F2,然后按Ctrl+Shift+Enter。计算不重复的文字或数字值的个数有时您希望了解包含重复值的区域中不重复的值的个数。例如,如果一列包含值5、6、7、6,那么结果为3个不重复的值—5、6和7。如果一列包含“Buchanan”、“Dodsworth”、“Dodsworth”、“Dodsworth”,那么结果为2个不重复的值—“Buchanan”和“Dodsworth”。使用筛选计算不重复的值的个数可以使用高级筛选从一列数据中提取不重复的值并将其粘贴到新位置。然后可以使用ROWS函数计算此新区域中的项目数。1.请确保列中的第一行为列标题。2.在“数据”菜单上,指向“筛选”,然后单击“高级筛选”。3.在“高级筛选”对话框中,单击“将筛选结果复制到其他位置”。4.如果尚未选择要计算的区域,则删除“列表区域”框中的所有信息,然后单击包含所需数据的列(或选择区域)。5.在“复制到”框中,删除该框中的所有信息,或单击该框,然后单击希望复制不重复的值的空白列。6.选中“选择不重复的记录”复选框,然后单击“确定”。所选区域中不重复的值即复制到新列中。7.在该区域最后一个单元格下面的空白单元格中,输入ROWS函数。使用刚才复制的包含不重复值的区域作为参数。例如,如果不重复的值的区域为B1:B45,那么可以输入:=ROWS(B1:B45)使用函数计算不重复的值的个数以下示例中的公式使用了:IF函数,以便为每个真条件指定值“1”。SUM函数,以计算总数。FREQUENCY函数以计算不重复的值的个数。该函数忽略文本和零值。当某一特定值第一次出现时,此函数返回与该值重复出现次数相等的数值。当该相同值在第一次出现后每次出现时,此函数返回零。MATCH函数,返回区域中文本值的位置。此数值随后被用作FREQUENCY函数的参数,以便计算相应的文本值。LEN函数,查找空白单元格。空白单元格长度为0。AB1数据数据2986Buchanan3Dodsworth56346778952356BuchananDodsworth76897898Dodsworth1439562371067235公式说明(结果)=SUM(IF(FREQUENCY(A2:A10,A2:A10)0,1))计算单元格A2:A10中不重复的数字值的个数,但不计算空白单元格或文本值的个数(4)=SUM(IF(FREQUENCY(MATCH(B2:B10,B2:B10,0),MATC