首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

excel惯用函数公式及技巧搜集5

2012-06-30 
excel常用函数公式及技巧搜集5}统计人数建议提建议人员姓名提建议人数建议1王、李、赵、孙、钱、胡6建议2张、王、

excel常用函数公式及技巧搜集5

统计人数

建议

提建议人员姓名

提建议人数

建议1

王、李、赵、孙、钱、胡

6

建议2

张、王、李、赵、孙、钱、胡

7

建议3

张、王、李、孙、钱、胡

6

=LEN(B2)-LEN(SUBSTITUTE(B2,"",""))+1

=LEN(SUBSTITUTE(B2,"",""))

统计人数

见表:

性别

年龄

6

35

3

55

21

53.5

55

56

65

45

53

51

如何计算20-50岁的人数?

=COUNTIF(C3:C17,">=20")-COUNTIF(C3:C17,">50")

=SUMPRODUCT((C3:C17>=20)*(C3:C17<=50))

=FREQUENCY(C3:C17,50)-FREQUENCY(C3:C17,19)

=SUM(COUNTIF(C3:C17,">="&{20,51})*{1,-1})

如何计算男20-50岁的人数?

=SUMPRODUCT((B3:B17="")*(C3:C17>=20)*(C3:C17<=50))

求各分数段人数

90—100?? =COUNTIF(B2:B43,">=90")

80—89??? =COUNTIF(B2:B43,">=80")-COUNTIF(B2:B43,">=90")

70—79??? =COUNTIF(B2:B43,">=70")-COUNTIF(B2:B43,">=80")

60—69??? =COUNTIF(B2:B43,">=60")-COUNTIF(B2:B43,">=70")

50—59??? =COUNTIF(B2:B43,">=50")-COUNTIF(B2:B43,">=60")

有什么方法统计偶数

例如:A1到E1有5个数如何统计着五个数中有几个是偶数

A B C D E F

1 50 15 8 11 15 3

在F1中的3要用什么公式能统计出来

统计偶数的个数

=COUNT(1/MOD(A1:E1-1,2))

=Sum(Mod(a1:e1+1,2))

将偶数转化成奇数,再求奇数的个数。

请在编辑栏中选择部分公式按F9观察每一步的计算过程。

{=SUM(--((A1:F1)/2=INT((A1:F1)/2)))}??? 算是一法,长了点

=SUMPRODUCT((MOD(A1:E1,2)=0)*1)

=SUMPRODUCT(1-MOD(A1:E1,2))

如何显示

如果D2>20那E2就显示$200、如果D2>30那E2就显示$300依此类推

解答:=INT(D2/10)*100 ,当然,你的单元格格式设置成$格式就可以了。否则用,="$"&INT(D2/10)*100

则该单元格成字符型 。当然,你也可以用IF函数,但它有7层的限制。= IF (D2>30, "300",IF(D2>20,"200"))

工资统计中的问题

问题:表一和表二中的职工姓名相同,但不在同一个位置上。怎样用公式求出表一中职工在表二中对应的工资、奖金和值班费的总额。要求,不能用表二中先加入一列,然后求和,再用公式导入表一的方法。我想知道能否在表一中用一个公式就可实现,而表二不动。

=SUMPRODUCT((表二!$B$3:$B$42=A3)*(表二!$C$3:$E$42)+(表二!$G$3:$G$42=A3)*(表二!$H$3:$J$42))

=IF(COUNTIF(表二!$B$3:$B$42,A3),SUMPRODUCT(VLOOKUP(A3,表二!$B$3:$E$42,{2;3;4},)),SUMPRODUCT(VLOOKUP(A3,表二!$G$3:$J$42,{2;3;4},)))

=IF(ISERROR(MATCH(A3,表二!$B$3:$B$42,0)),SUM(OFFSET(表二!$G$2,MATCH(A3,表二!$G$3:$G$42,0),1,,3)),SUM(OFFSET(表二!$B$2,MATCH(A3,表二!$B$3:$B$42,0),1,,3)))

=IF(ISERROR(VLOOKUP(A3,表二!$B$3:$F$42,4,0)),SUM(INDIRECT("表二!H"&MATCH(A3,表二!$G$3:$G$42,0)+2&":J"&MATCH(A3,表二!$G$3:$G$42,0)+2)),SUM(INDIRECT("表二!C"&MATCH(A3,表二!$B$3:$B$42,0)+2&":J"&MATCH(A3,表二!$B$3:$B$42,0)+2)))

=IF(ISERROR(VLOOKUP(A3,表二!$B$3:$F$42,4,0)),VLOOKUP(A3,表二!$G$3:$J$42,4,0),VLOOKUP(A3,表二!$B$3:$F$42,4,0))

统计数据问题一例

如果我想统计50个数据中大于某个值的数据个数,(这个值是在使用时才输入某个单元格的),请问用什么函数。如数据单元格为A1:E10,值的单元格为A11。

1、使用下面的数组公式: {=SUM(IF($A$1:$E$10>$A$11,1))}

2、输入以下函数: =COUNTIF(A1E10,">"&A11)

根据给定的条件,对数据进行合计

实例:????? 姓名????? 件数????? (姓名在B307-B313中;件数在C307-C313中)

?????? ????????? 李六?????? 12??

?????? ????????? 王武?????? 50??

?????? ????????? 李六?????? 18??

?????? ????????? 陈丰?????? 187

?????? ? ????????李六?????? 49??

?????? ????????? 王武?????? 135

?????? ????????? 陈丰?????? 1584?????

目的:????? 对上面三个人的件数分别进行统计分析????????

步骤:????? 李六的:???? =SUMIF(B307:B313,B323,C307:C313)??????

?????? ?????????? 王武的:??? =SUMIF(B307:B313,C323,C307:C313)??????

?????? ?????????? 陈丰的:??? =SUMIF(B307:B313,D323,C307:C313)??????

姓名:? 李六????? 王武????? 陈丰(分别在B323、C323、D323单元格中)

结果:? 79?? ??? 185?????? 1771

十列数据合计成一列

=SUM(OFFSET($1,(ROW()-2)*10+1,,10,1))

统计汉字字符个数

中国??????????? ? A1中"中国",A2中"人民",A3中是空白,A4中是"幸福",A5,A6中是空白

人民258???????????

258????????????

幸福???????????

247大家好???????

中国147???????????

函数?????????????????????????????? 结果????? 说明

=SUMPRODUCT(LENB(ASC(A1:A6))-LEN(A1:A6)) ??11????? ?仅统计汉字字符个数?

=SUMPRODUCT(LEN(A1:A6))? ???????????????????23???? ? 如果还混杂有其它字符

关于取数

购进日期

付款期

7月5日

2007-8-25

6月5日

2007-7-25

7月18日

2007-9-15

7月26日

2007-9-15

注:我想在B列的付款期中得到这样的结果:

付款期=(购进日期+45天),但我们的付款期只有每月15和25号,如果按购进日期加上45天后不正好是付款日,那就得再往后延到最近的一个付款日,也就是15或25号。

=MIN(IF(DAY(A2+ROW($45:$70))={15,25},A2+ROW($45:$70)))

=MIN(IF(DAY(A2+ROW($45:$70))={15,25},A2+ROW($45:$70),999999))

=MIN(IF((DAY(A2+ROW($45:$67))=15)+(DAY(A2+ROW($45:$67))=25),A2+ROW($45:$67)))

=IF(DAY(A2+45)<15,TEXT(A2+60-DAY(A2+45),"mmdd"),TEXT(A2+70-DAY(A2+45),"mmdd"))

=DATE(YEAR(A2+45),IF(DAY(A2+45)>25,MONTH(A2+45)+1,MONTH(A2+45)),IF(DAY(A2+45)<=15,15,IF(DAY(A2+45)<=25,25,15)))

统计单元格内不为空的格数

如下图,怎么自动统计单元格内的“√”,而空白的单元格则不计入内?

?

=counta(a2:a31),下拉

=countif(a2:a31,"√")

=COUNTIF(a2:a31,"<>")

自动将销量前十名的产品代号及销量填入表中

如:产品代号在“B”列,销量在“C”列

=INDIRECT("b"&MATCH(ROW(A1),$D$2:$D$20,0)+1)

=INDIRECT("c"&MATCH(ROW(A1),$D$2:$D$20,0)+1)

统计最大的连续次数

?

如图,请问如何编写公式求出A1到A10单元格中数字4连在一起的次数,本例中答案应为3(A1到A3)和2(A9到A10)。

[1] A1到A10单元格中, 数字4连在一起, 最大的连续次数, 公式为 :

{=LARGE(FREQUENCY(IF(A1:A10=4,ROW(A1:A10),""),IF(A1:A10<>4,ROW(A1:A10),"")),1)}

[2] 次大的连续长次数, 公式为 :

{=LARGE(FREQUENCY(IF(A1:A10=4,ROW(A1:A10),""),IF(A1:A10<>4,ROW(A1:A10),"")),2)}

3个“不重复”个数统计=SUM(--IF(MATCH(B$2:B$21,B$2:B$21,0)=ROW(B$2:B$21)-1,B$2:B$21>B2))+1

=SUM(--(IF(FREQUENCY(B$2:B$21,B$2:B$21),B$2:B$21>B2)))+1

=SUM(--(FREQUENCY(IF(B$2:B$21>B2,B$2:B$21),B$2:B$21)>0))+1

在一列有重复的姓名中,如何统计出具体有几人

如果第一个张三在A1单元格,在B1处输入:

=IF(COUNTIF($A$1:A1,A1)>1,"",A1)

向下复制即可

用数组公式也可以解决呀:假设你要统计A1到A100可以这样:

=sum(1/countif(a1:a100,a1:a100),然后按住crtl,shift,和回车就可以了。

计数的问题

  这个例子主要是计数的问题:共有三列数据,分别统计每列字母的个数、每列有几个不同的字母,最后把它们分别列出来。对每列字母个数统计,字符用COUNTA(),数字可以用COUNT()和COUNTA()。公式分别为:

=COUNT(A2:A12)

=COUNTA(B2:B12)

=COUNTA(C2:C12)

每列不相同的字母,公式分别为:

=SUM(1/COUNTIF(A$2:A$12,A$2:A$12))

=SUM(1/COUNTIF(B$2:B$12,B$2:B$12))

=SUM(1/COUNTIF(C$2:C$12,C$2:C$12))

分别列出来,公式分别为:

=IF(SUM(1/COUNTIF(A$2:A$12,A$2:A$12))>=ROW(A1),INDEX(A$2:A$12,SMALL(IF(ROW(A$2:A$12)-1=MATCH(A$2:A$12,A$2:A$12,0),ROW(A$2:A$12)-1,"0"),ROW(A1))),"END")

=IF(SUM(1/COUNTIF(B$2:B$12,B$2:B$12))>=ROW(B1),INDEX(B$2:B$12,SMALL(IF(ROW(B$2:B$12)-1=MATCH(B$2:B$12,B$2:B$12,0),ROW(B$2:B$12)-1,"0"),ROW(B1))),"END")

=IF(SUM(1/COUNTIF(C$2:C$12,C$2:C$12))>=ROW(C1),INDEX(C$2:C$12,SMALL(IF(ROW(C$2:C$12)-1=MATCH(C$2:C$12,C$2:C$12,0),ROW(C$2:C$12)-1,"0"),ROW(C1))),"END")

列1

列2

列3

1

m

B

2

n

B

3

m

C

1

n

D

1

m

A

2

m

B

3

n

C

2

n

D

1

m

A

2

n

A

1

m

B

对每列字母个数统计:

11

11

11

每列不相同的字母有:

3

2

4

它们分别是:

1

m

B

2

n

C

3

END

D

END

 

A

 

 

END

如何分班统计男女人数

姓名

班别

性别

高健丽

1

蔡美燕

2

张玉玫

3

蔡文文

4

陈娇娇

5

吴振宇

1

周婷婷

6

肖欣

6

梁丽宝

5

邱晓雯

4

李春梅

3

龙玉桦

2

阮梅英

1

梁光昕

2

班别

总人数

1

29

45

74

2

30

44

74

3

30

44

74

4

31

43

74

5

30

44

74

6

30

45

75

=SUMPRODUCT(($B$2:$B$446=$E2)*($C$2:$C$446=F$1))

=SUMPRODUCT(($B$2:$B$446=$E2)*($C$2:$C$446=G$1))

男{=SUM(($B$2:$B$446=$E2)*($C$2:$C$446=$F$1))

女{=SUM(($B$2:$B$446=$E2)*($C$2:$C$446=$G$1))

男{=SUM(($B$2:$B$446=F2)*($C$2:$C$446=$G$1)*$D$2:$D$446)

女{=SUM(($B$2:$B$446=F2)*($C$2:$C$446=$H$1)*$D$2:$D$446)

增加d列,输入公式:=B2&C2,合并数据后再利用countif公式对D列统计。

=COUNTIF($B$2:$B$446,E2)

在几百几千个数据中发现重复项

我的意思不是查找功能,那个我会用,比如有几百个人的名字输入单元格中,但我面对那么多名字真无法短时间内看出谁重复了,该如何办?

假设判断区域为A1:D10,格式/条件格式,选公式(不是数值),输入:

=COUNTIF($A$1:$D$10,A1)>1

然后在格式中设置一个字体或图案颜色,确定,这样重复数据就变成了有色单元格。

统计互不相同的数据个数

例如,在 3 * 3 的区域中统计互不相同的数据个数,

1 2 3?

3 2 1

1 2 0

结果应为 4 (4 个互不相同的数据)

数组公式=sum(1/countif(a1:c3,a1:c3))

还可以公式:

=COUNT(IF(FREQUENCY(A1:C3,A1:C3),1))

多个工作表的单元格合并计算

=Sheet1!D4+Sheet2!D4+Sheet3!D4,更好的=SUM(Sheet1:Sheet3!D4)

单个单元格中字符统计

假设 A1单元格中有数据"sdfsfjksfhweofiefondsfljsdfisdofjei"

如何用公式统计出A1单元格中有多个不重复的字符?

=SUMPRODUCT(--(LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(ROW(97:122)),""))=1))

数组公式=SUM(IF(ISERROR(FIND(CHAR(ROW(97:122)),A1)),,1))

这个公式只适用单元中的字符为小写字母,给个通用点的

=SUM(--(MATCH(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),)=ROW(INDIRECT("1:"&LEN(A2)))))

=SUM(IF(ISERROR(FIND(CHAR(ROW(97:122)),LOWER(A1))),,1))

数据区包含某一字符的项的总和,该用什么公式

=sumif(a:a,"*"&"某一字符"&"*",数据区)

函数如何实现分组编码

对数值进行分组编码

=A2&TEXT(COUNTIF($A$2:A2,A2),"00")

㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜㎜

【数值取整及进位】

取整数函数

907.5;1034.2;1500要改变为908;1035;1500公式为:

=CEILING(A1,1)

907;1034;1500要改变为910;1040;1500公式为:

=CEILING(A1,10)

如果要保留到百位数,即改变为1000;1100;1500公式为:

=CEILING(A1,100)

数值取整

在单元格中要取整数(只取整数不用考虑四舍五入)用什么函数呀?例如:10/4只要显示2就可以了!要考虑负数的因数呢?例如:(-10/4)要显示-2而不是-3?怎么办?

=TRUNC(A1,0)

=ROUNDDOWN(A1,0)

求余数的函数

比如:A1=28,A2=(A1÷6)的余数=4,请问这个公式怎么写??

解答:=MOD(28,6)

四舍五入公式

=ROUND()

=ROUND($B$1*A1,2)

=ROUND(B1*A1,2)

=round(a1,0)

=round(a1,0)*0.95

对数字进行四舍五入

对于数字进行四舍五入,可以使用INT(取整函数),但由于这个函数的定义是返回实数舍入后的整数值。因此,用INT函数进行四舍五入还是需要一些技巧的,也就是要加上0.5,才能达到取整的目的。公式应写成:

=INT(B2*100+0.5)/100

如何实现“见分进元”

在我们的工资中,有一项“合同补贴”,只要计算结果出现“分”值就在整数“元”进一位,也就是说3.01元进到4.00元,3.00元不变,整数“元”不变。

=IF((A3-INT(A3))>=0.3,IF((A3-INT(A3))>=0.8,1,0.5),0)+INT(A3)

IF(RIGHT(FIXED(A1,2),2)>B1,TRUNC(A2)+1,A2)

说明一下:A1即是要转换的目标;B2输入00(文本格式,必须是00这两个数) 。

IF(INT(A1)<>A1,INT(A1)+1,A1)

=ROUNDUP(A1,0)

=CEILING(A9,1)

=INT(A9+1)

四舍五入

如何将Excel 中的数据,希望把千位以下的数进行四舍五入,例如:3245? 希望变成3000;3690 希望成为400

=ROUND(C6*D6,2)

=ROUND(A2*0.001,)*1000

=ROUND(A2,-3)

=--FIXED(A2,-3)

=ROUND(A2/1000,0)*1000

如何四舍五入取两位小数

如何四舍五入取两位小数,如2.145为2.15,0.1449为0.14.

=ROUND(A1,2)

根据给定的位数,四舍五入指定的数值

对整数无效。四舍五入B234的数值,变成小数点后一位。

12512.2514???? 12512.3

=ROUND(B23,1)

四舍六入

=IF(MOD(INT(A1),2)=0,IF(MOD(A1,1)=0.5,INT(A1),INT(A1+0.5)),INT(A1+0.5))

=IF(AND(RIGHT(A1*100,1)="0",RIGHT(A1*10,1)="5")=TRUE,IF(INT(A1)/2=INT(INT(A1)/2),INT(A1),ROUND(A1,0)),ROUND(A1,0))

AND(RIGHT(A1*100,1)="0",RIGHT(A1*10,1)="5")=TRUE 判断是否为一位小数,且是0.5,如果不符合上术要条件,按普通四舍五入法则处理,否则判断整数部分的奇偶。

=IF(RIGHT(A1,1)*1<5,INT(A1),IF(RIGHT(A1,1)*1>5,INT(A1)+1,IF(MOD(ROUND(A1,),2)=0,ROUND(A1,),ROUNDDOWN(A1,))))

=IF(ROUNDUP(A1*2,)=A1*2,IF(MOD(ROUND(A1,),2)=1,ROUNDDOWN(A1,),ROUNDUP(A1,)),ROUND(A1,))

如何实现23

做工资时,常遇到:3.2元要舍去0.2元变为3.00元,而3.3元要把0.3元入为0.5元变为3.5元.请教,该如何实现?

=ROUND(A1*2,0)/2

=CEILING(A1,0.5)

=IF((A1-INT(A1))<=0.2,INT(A1),IF((A1-INT(A1))<=0.5,INT(A1)+0.5,IF((A1-INT(A1))<=0.7,INT(A1),INT(A1)+1)))

=CEILING(A1-0.2,0.5)

=FLOOR(A1+0.2,0.5)

怎么设置单元格以千元四舍五入

比如输入123456,显示出来123,000

=CEILING(ROUND(A1/1000,0),1)*1000

=round(a1,-3)

=mround(A1,1000)

ROUND函数的四舍五入不进位的解决方法?

计算一:A2=1345.3? B2=1232.4? C3=A2-B2=112.9?? D=0.05? E=ROUND(B2*D2,2)=5.64 ?(计算结果为5.645,此运算没有进位)。

计算二:A2=1225.4? B2=1112.5? C3=A2-B2=112.9?? D=0.05? E=ROUND(B2*D2,2)=5.65(计算结果为5.645,此运算进位)。

以上两式中C3结果都为112.9,而为什么应用ROUND函数后结果却不一样。

请教高手有什么函数能保证四舍五入不会出错。

可将C列先变成文本性数据,再进行后面的运算,以达到计算的目的。

如:C列可改成C1=TRIM(A1-B1),以此类推,只要是更改成文本性数据就行。

保留一位小数

我需要保留一位小数,不管后面是什么数字,超过5或不超过5,都向前进一位.

例如:329.99-->330.00

329.84----->329.90

329.86----->329.90

=roundup(*,2)=round(a1+0.04,1)

如何三舍四入

=round(原数值+0.001,2)

另类四舍五入

我用Excle给别人算帐,由于要对上百家收费,找零却是个问题。于是我提出四舍五入,收整元。但是领导不同意,要求收取0.5元。例如:某户为123.41元,就收123.50元;如果是58.72元,就收58.5元。这可难坏了我。经过研究,我发现,可以在设置单元格中,设成分数,以2为分母,可以解决问题。但是打印出来的却是分数不好看,而且求和也不对。请各位高手给予指点。是这样的,如果是57.01元,则省去,即收57.00元;如果是57.31元,则进为57.50元;如果是57.70元,也收57.50元;要是57.80元,则收58.00元。

假设数据在A1

=INT(A1)+IF((A1-INT(A1)<=0.3),0,IF((A1-INT(A1)>0.7),1,0.5))

简化一下:

=INT(A1)+0.5*((A1-INT(A1)>0.3)+(A1-INT(A1)>0.7))

int函数取整数部分,A1-int(A1)取小数部分,根据你的意思:<=0.3按0算,0.3~0.7(含)按0.5算,0.7~0.99……按+1算

则:第一个公式不难理解了

简化公式中:“*((A1-INT(A1)>0.3)+(A1-INT(A1)>0.7))”即(小数部分>0.3)+(小数部分>0.7)

我们知道这是省略if的判断语句,条件为真返回true(也就是1)否在为false(0),那么如果小数<=0.3,则两个条件都为0,即整数部分+0.5*0=整数部分,介于0.3~0.7,则为整数部分+0.5*(1+0),大于0.7肯定也大于0.3啦,则为整数部分+0.5*(1+1)。

请问,如果是由几个分表汇总的总表想如此处理,该如何做。

例:e112位置=SUM(一库入库!G112,二库入库!G112,四库入库!G112,保健酒基地入库!G112,下陆仓库入库!G112)

汇总的结果为100.24,而我要求如果小数为24的话自动视为1累加,否则不便。

就是小数为0.24才加1,否则都舍掉?

若是:=if(sum公式-int(sum公式)=0.24,int(sum公式)+1,sum公式)

想把小数点和后面的数字都去掉,不要四舍五入

比如:????????

12.30??? 变成????? ???12.00

45.32???????????????? 45.00

25.38???????????????? 25.00

6.54?????????????????? 6.00

13.02???????????????? 13.00

59.68???????????????? 59.00

23.62???????????????? 23.00

=Rounddown(A1,0)

你要把A1换成你要转换的那个单元格啊,然后拖动就可以了!

我那里用的那个A1只是告诉你一个例子而已,你要根据你的实际情况来修改一下才能用的。

=INT(A1)

=TRUNC(A1,0)

求真正的四舍五入后的数

请教如何在Excel中,求“金额合计”(小数点后二位数)时,所取的数值应是所求单元格中写的数字(四舍五入后的数字),而不是(四舍五入前)的数字。因为只有这样行和列及关联的工作表才能对得上,例如:表上的数值分别是:(1.802/2=0.901)0.90(A1); (1.604/2=0.802)0.80(A2);??(1.406/2=0.703)0.70(A3);(因取小数点后二位)。合计数(A4)表中自己计算和显示是:(0.901+0.802+0.703=2.406)2.41(四舍五入后的数值)。但照表中的数值人工计算却是:(0.9+0.8+0.7=)2.4,有矛盾,还有许多例子,故请教各高手,如何设置公式,使得人工计算结果同表中一致。请指教。十分感谢!

工具》选项》重新计算》以显示精度为准? ?前打钩

也可以用函数 ROUND() 使结果四舍五入 。如ROUND(算式,2)代表保留两位小数,如ROUND(算式,1)代表保留一位小数。

小数点进位

小数点进位如何把1.4进成2或1.3进成2

=Ceiling(A1,1)

=Roundup(A1,0)

=INT(A1+0.9)

?=int(a1)+1

如何把1.4进成2,而1.2不进位

=ROUND(A1+0.1,0)

个位数归0或者归5

A*B后想得到C的结果值,用什么函数比较好

A????????? B???????? C(想得到的数值)

320????? ??1.1????????????? ?355

1140?? ????1.2????????????? ?1370

50??????? ?1.3?????????????? 65

16??????? ?1.4?????????????? 25

=FLOOR(A1*B1+5*(MOD(A1*B1,5)<>0),5)

=CEILING(A1*B1,5)

热点排行