=SUMPRODUCT(($C$1:$C$10000="hete->s288c")*($H$1:$H$10000<900))-SUMPRODUCT(($C$1:$C$10000="hete->s288c")*($H$1:$H$10000<895))
=SUMPRODUCT(($C$1:$C$1000000<50000)*($C$1:$C$1000000>45000)*$U$1:$U$1000000)
条件的求和
复制excel中的公式,而不是公式后得到的结果
假设公式在 A列 选中A列, 按Ctrl+~ 数据---分列----固定宽度---下一步------下一步 列数据格式 选择 文本-----完成 ------ 按Ctrl+~
25 | 大于30且小于75的单元格个数 | ||
30 | |||
44 | 结果 | 公式 | |
11 |
|
=SUM(IF(($V$4:$V$75<30)*($V$4:$V$75>0),1,0)) | |
13 | 8 | =COUNTIF(V4:V75,">=0")-COUNTIF(V4:V75,">=30") | |
-3 | 8 | =SUMPRODUCT((V4:V75<30)*(V4:V75>0)) | |
6 | 8 | =SUM((V4:V75>0)*(V4:V75<30)) | |
45 | |||
-7 | |||
20 | |||
26 | |||
35 | 数组在输入完成后要同时按Ctrl+Shift+Enter进行确定. | ||
20 | |||
30 | |||
99 | |||
-7 | |||
19 |
SUMPRODUCT函数可以方便地计算工作表内多列中对应值相乘后的和,其语法为:
SUMPRODUCT(array1,array2,array3, …)
其中,Array1, array2, array3, …为 2到 30个数组,其相应元素需要进行相乘并求和。数组参数必须具有相同的维数,否则,函数 SUMPRODUCT将返回错误值 #VALUE!。该函数将非数值型的数组元素作为 0处理。
下面通过示例介绍SUMPRODUCT函数的基本使用方法。如下图1所示的工作表:
图1
其中所定义的名称为:
名称 |
引用范围 |
公司 |
=Sheet1!$D$3:$D$17 |
全部数据 |
=Sheet1!$A$2:$E$17 |
日期 |
=Sheet1!$A$3:$A$17 |
姓名 |
=Sheet1!$B$3:$B$17 |
性别 |
=Sheet1!$C$3:$C$17 |
用工数 |
=Sheet1!$E$3:$E$17 |
(1)要计算工作表中姓名是张三且公司为A的用工数统计,则可以使用下面的公式:
=SUMPRODUCT(0+(姓名="张三"),0+(公司="A"),用工数)
返回结果24。
(2)要获取姓名张三出现的次数,则可以使用下面的公式:
=SUMPRODUCT((姓名="张三")*1)
或=SUMPRODUCT(0+(姓名="张三"))
结果为5。
(3)要获取姓名为张三且公司为A的总数,则可以使用下面的公式:
=SUMPRODUCT((姓名="张三")*(公司="A")*1)
或=SUMPRODUCT((姓名="张三")*(公司="A"))
结果为4。
图2
(4)探讨
在计算工作表中姓名是张三且公司为A的用工数统计时,使用的是公式=SUMPRODUCT(0+(姓名="张三"),0+(公司="A"),用工数)。按照常规做法,可以使用公式:
=SUMPRODUCT(姓名="张三",公司="A",用工数)
但其结果为0,即并不是所想要的正确结果24。
· Excel在公式中能将以文本表示的数字转换为数字,例如公式:
="3"*5
虽然”3”是文本,但该公式能返回结果15。
因此,在公式中添加0强制将逻辑值进行转换?!
excel函数的绝对引用。
$E$2:$E$50
Excel中COUNTIF函数的使用方法汇总
一、求各种类型单元格的个数
(1) 求真空单元格单个数: =COUNTIF(data,"=")
(2) 真空+假空单元格个数: =COUNTIF(data,"") 相当于countblank()函数
(3) 非真空单元格个数: =COUNTIF(data,"<>") 相当于counta()函数
(4) 文本型单元格个数: =COUNTIF(data,"*") 假空单元格也是文本型单元格
(5) 区域内所有单元格个数: =COUNTIF(data,"<>""")
(6) 逻辑值为TRUE的单元格数量 =COUNTIF(data,TRUE)
小说明:
EXCEL单元格内数据主要有以下几类:数值型,文本型,逻辑型,错误值型。其中时间类型也是一种特殊的数值。文本类型的数字是文本型。
空单元格:指什么内容也没有的单元格,姑且称之为真空。
假空单元格:指0字符的空文本,一般是由网上下载来的或公式得来的,姑且称之为假空。
date指单元格区域,该参数不能是数组
二、求><=某个值的单元格个数
(1) 大于50 =COUNTIF(data,">50")
(2) 等于50 =COUNTIF(data,50)
(3) 小于50 =COUNTIF(data,"<50")
(4) 大于或等于50 =COUNTIF(data,">=50")
(5) 小于或等于50 =COUNTIF(data,"<=50")¬
(6) 大于E5单元格的值 =COUNTIF(data,">"&$E$5)
(7) 等于E5单元格的值 =COUNTIF(data,$E$5)
(8) 小于E5单元格的值 =COUNTIF(data,"<"&$E$5)
(9) 大于或等于E5单元格的值 =COUNTIF(data,">="&$E$5)
(10) 小于或等于E5单元格的值 =COUNTIF(data,"<="&$E$5)
三、等于或包含某N个特定字符的单元格个数
(1) 两个字符 =COUNTIF(data,"??")
(2) 两个字符并且第2个是B =COUNTIF(data,"?B")
(3) 包含B =COUNTIF(data,"*B*")
(4) 第2个字符是B =COUNTIF(data,"?B*")
(5) 等于“你好” =COUNTIF(data,"你好")
(6) 包含D3单元格的内容 =COUNTIF(data,"*"&D3&"*")
(7) 第2字是D3单元格的内容 =COUNTIF(data,"?"&D3&"*")
注:countif()函数对英文字母不区分大小写,通配符只对文本有效
四、两个条件求个数
(1) >10并且<=15 =SUM(COUNTIF(data,">"&{10,15})*{1,-1})
(2) >=10并且<15 =SUM(COUNTIF(data,">="&{10,15})*{1,-1})
(3) >=10并且<=15 =SUM(COUNTIF(data,{">=10",">15"})*{1,-1})
(4) >10并且<15 =SUM(COUNTIF(data,{">10",">=15"})*{1,-1})
注:一般多条件计数使用SUMPRODUCT函数,以上方法较少使用,仅供参考。
补充:三个区域计数:
三个区域中>=60 =SUM(COUNTIF(INDIRECT({"a46:a48","b48:b50","c47:c48"}),">=60"))
五、各种特殊统计要求的计算 A2:A32 为存放数据的区域
(1)非空文本(仅包括可键入文本) =COUNTIF(A2:A32,">=!")
(2)所有非空文本
=COUNTIF(A2:A32,">=!")+COUNTIF(A2:A32,">="&CHAR(1))-COUNTIF(A2:A32,">=")
或 {=SUM(COUNTIF(A2:A32,">="&{"!",""})*{1,-1})+COUNTIF(A2:A32,">="&CHAR(1))}
(3)全部可见单元格
{=SUM(N(IF(ISERROR(A2:A32),1,SUBSTITUTE(A2:A32,"",""))<>""))}
(4)有效可见单元格
=COUNTIF(A2:A32,">=!")+COUNTIF(A2:A32,">="&CHAR(1))-COUNTIF(A2:A32,">=")+COUNT(A2:A32)
(5)全部不见单元格(真空+空格+空文本)
=COUNTIF(A2:A32,"")-COUNTIF(A2:A32,">=!")+COUNTIF(A2:A32,">=")
(6)空格 =COUNTIF(A2:A32,">=")-COUNTIF(A2:A32,">=!")
(7)空文本"" =COUNTIF(A2:A32,"")-COUNTIF(A2:A32,"=")
(8)逻辑与错误 =COUNTIF(A2:A32,"<>")-COUNTIF(A2:A32,"*")-COUNT(A2:A32)