打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
EXCEL常用函数公式及技巧搜集之七

EXCEL常用函数公式及技巧搜集之七


求真正的四舍五入后的数

请教如何在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进成21.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的结果值,用什么函数比较好

               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)

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

大小值或中间值

求平均值

如在列中有一组数字:1079272

=AVERAGE(A2:A6) 上面数字的平均值为11

行公式=AVERAGE(B2:D2)

如何实现求平均值时只对不等于零的数求均值?

AVERAGE(IF(A1:A5>0,A1:A5))

平均分的问题

假设一个班有60人,要统计出各个学科排名前50的学生的平均分,用公式应该如何写?如果用排序再来算的话很麻烦,能不能直接用公式找出前50名进行计算?

{=AVERAGE(LARGE(A1:A60,ROW(INDIRECT("1:50"))))}

怎样求最大值(最小值或中间值)

=IF(A2="","",MAX(OFFSET(C2,,,MIN(IF(A3:$A$15<>"",ROW(3:$15),15))-MAX(($A$2:A2<>"")*ROW($2:2)))))

=IF(A2="","",MAX((LOOKUP(ROW($A$2:$A$14),IF($A$2:$A$14<>"",ROW($A$2:$A$14)),$A$2:$A$14)=A2)*$C$2:$C$14))

=IF(A2="","",LOOKUP(2,1/FIND(A2,$B$2:$B$1000),$C$2:$C$1000))

=IF(A2="","",MAX(IF(ISNUMBER(FIND(A2,$B$2:$B$1000)),$C$2:$C$1000)))

平均数怎么弄

如在列中有一组数字:1079272

公式为:

=AVERAGE(A2:A6) 上面数字的平均值为11

=AVERAGE(A2:A6, 5) 上面数字与 的平均值为10

去掉其中两个最大值和两个最小值的公式

我要将一行数据进行处理。要去掉其中两个最大值和两个最小值,不知道怎样运用公式,应该是:

=SUM(A1:A50)-MAX(A1:A50)-LARGE(A1:A50,2)-MIN(A1:A50)-SMALL(A1:A50,2) 

这个只能减去1个最大和1个最小值,不符合题意。可用下面的公式。

=SUM(A1:A20)-SUM(LARGE(A1:A20,{1,2}))-SUM(SMALL(A1:A20,{1,2}))

去一行最高分最低分求平均值

去一行中一个最高分和一个最低分求平均值

公式为:=(SUM(A5:E5)-MAX(A5:E5)-MIN(A5:E5))/(COUNTIF(A5:E5,">0")-2)

但另用TRIMMEAN ()函数较好。=TRIMMEAN($A$5:$E$5,2/COUNT($A$5:$E$5))

为需要进行整理并求平均值的数组或数值区域。TRIMMEAN(array,percent)

为计算时所要除去的数据点的比例,例如,如果 percent = 0.2,在 20 个数据点的集合中,就要除去 4 个数据点 (20 x 0.2):头部除去 2 个,尾部除去 2 个。

用活了TRIMMEAN函数,这个问题易如反掌。

9个数值中去掉最高与最低然后求平均值

假设9个数值所在的区域为A1A9

=(SUM(A1:A9)-MAX(A1:A9)-MIN(A1:A9))/7

=TRIMMEAN(A1:A9,2/COUNTA(A1:A9))

=TRIMMEAN(A1:A9,2/9)

=AVERAGE(SMALL(A1:A9,ROW(2:8)))

=ROUND((SUM(A1:A9)-MAX(A1:A9)-MIN(A1:A9))/(COUNT(A1:A9)-2),3)

=TRIMMEAN(A1:A9,0.286)

求最大值(n列)

{=MAX(($A$2:$A$16=$D$2)*($B$2:$B$16))}

=LARGE(IF(FREQUENCY(N3:AT3,N3:AT3),TRANSPOSE(N3:AT3)),ROW(A1))

=LARGE(IF(FREQUENCY(TRANSPOSE(N3:AT3),TRANSPOSE(N3:AT3)),(N3:AT3)),ROW(A1))

如何实现求平均值时只对不等于零的数求均值?

=TRIMMEAN (IF(A1:A5>0,A1:A5))

得到单元格编号组中最大的数或最小的数

对字符格式的数字不起作用。

=MAX(B16:B25)

=MIN(B16:B25)  (得到最小的数的公式)

标记出3个最大最小值

=RANK(B4,$B4:$Q4)+COUNTIF($B4:B4,B4)<=4

=RANK(B4,$B4:$Q4,2)+COUNTIF(B4:$Q4,B4)<=4

=(COUNTIF($B3:$Q3,">"&B3)+COUNTIF($B3:B3,B3))<=3

=(COUNTIF($B3:$Q3,">"&B3)+COUNTIF(B3:$B3,B3))>COUNT($B3:$Q3)-3

=SMALL(rongjun!$C4:$R4+COLUMN(rongjun!$C4:$R4)/10000,{1,2,3})

=LARGE(rongjun!$C4:$R4+COLUMN(rongjun!$C4:$R4)/10000,{1,2,3})

=RANK(B8,$B8:$Q8)+COUNTIF($B8:B8,B8)-1<=3

=RANK(B8,$B8:$Q8)+COUNTIF($B8:B8,B8)-1>COUNT($B8:$Q8)-3

C4+COLUMN(C4)/10000>LARGE(rongjun!$C4:$R4+COLUMN(rongjun!$C4:$R4)/10000,4)

取前五名,后五名的方法

{=LARGE(IF(ISERROR($D$2:$D$57),0,$D$2:$D$57),ROW())}

{=SMALL(IF(ISERROR($D$2:$D$57),0,$D$2:$D$57),ROW())}

{=LARGE(IF(ISERROR(D$2:D$57),"",D$2:D$57),ROW(1:5))}

{=SMALL(IF(ISERROR(D$2:D$57),"",D$2:D$57),ROW(1:5))}

=LARGE(B$2:B$57,ROW(A1))

=SMALL(B$2:B$57,ROW(A1)+COUNTIF(B$2:B$57,0))

=LARGE(D$2:D$57,ROW(A1))

=SMALL($D$2:$D$57,5-MOD(ROW(A5),5))

如何用公式求出最大值所在的行?

如A1:A10中有10个数,怎么求出最大的数在哪个单元格?

=MATCH(LARGE(A1:A10,1),A1:A10,0)

=ADDRESS(MATCH(SMALL(A1:A10,COUNTA(A1:A10)),A1:A10,0),1)

=ADDRESS(MATCH(MAX(A1:A10,1),A1:A10,0),1)

{=ADDRESS(MATCH(MAX(LEN(A1:A10)),LEN(A1:A10),FALSE),1)}

{=ADDRESS(SUM(($A$1:$A$10=MAX($A$1:$A$10))*(ROW($A$1:$A$10))),SUM(($A$1:$A$10=MAX($A$1:$A$10))*(COLUMN($A$1:$A$10))))}

如有多个最大值的话呢?如何一一显示其所在的单元格?

{=IF(ROW(1:1)<=COUNTIF($A$1:$A$100,MAX($A$1:$A$100)),ADDRESS(LARGE(IF($A$1:$A$100=MAX($A$1:$A$100),ROW($A$1:$A$100)),ROW(1:1)),1),"")}

求多个最高分

语文成绩有多个最高分,如何用公式的方法把他们抽出来(动态)?

B15=INDEX(A:A,SMALL(IF(B$2:B$10=MAX(B$2:B$10),ROW($2:$10),65536),ROW(1:1)))&""

数组公式,按下Ctrl+Shift+Enter结束。

如果增加一个条件,就是在姓名前加一个类别,例如前5个人是A类的,4个是B类的,请分类找出A类和B类的对应姓名的最高分

=INDEX(B:B,SMALL(IF(C$2:C$10=MAX(IF($A$2:$A$10="A",$C$2:C$10)),ROW($2:$10),IF(C$2:C$10=MAX(IF($A$2:$A$10="B",$C$2:$C$10)),ROW($2:$10),65536)),ROW(1:1)))&""

如何求多条件的平均值

应如何求下表中1月份400g重量的平均值

月份   规格    重量

    400g    401

    400g    403

    400g    402

    400g    404

    200g    201

    200g    203

    200g    202

試試這個行不行=SUMPRODUCT(($A$4:$A$10=1)*($B$4:$B$10="400g"),($C$4:$C$10))/SUMPRODUCT(($A$4:$A$10=1)*($B$4:$B$10="400g"))

比较土的办法

{=SUM(IF(($A$1:$A$7=1)*($B$1:$B$7="400g"),C1:C7,0))/SUM(IF(($A$1:$A$7=1)*($B$1:$B$7="400g"),1,0))}

数组公式:{=AVERAGE(IF(B2:B8="400g")*(A2:A8=1),(C2:C8),""))}

另一个数组公式试试:=Average(if((a1:a10=1)*(b1:b10="400g"),c1:c10))

=SUMIF(B1:B7,B1,C1:C7)/COUNTIF(B1:B7,B1)   这个也可以

想求出第三大之数值

A1A4分别为1,2,2,3. 

想求出第三大之数值"1",应如何设公式。  

=large(if(frequency(a1:a4,a1:a4),a1:a4),3)

数组公式的解法

=LARGE((MATCH(A1:A10,A1:A10,)=ROW(1:10))*A1:A10,3)

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

【查询和查找引用

查找顺序公式

=LOOKUP(2,1/(A1:A20<>0),A1:A20)

=MATCH(7,A1:A20)

=VLOOKUP(7,A1:B11,2)

怎样实现精确查询

VLOOKUP

=VLOOKUP(B11,B3:F7,4,FALSE)

LOOKUP

=LOOKUP(B11,B3:B7,E3:E7)

MATCH+INDEX

=INDEX(E3:E7,MATCH(B11,B3:B7,0))

INDIRECT+MATCH

=INDIRECT("E"&MATCH(B11,B3:B7,0)+2)

OFFSET+MATCH

=OFFSET(E3,MATCH(B11,B3:B7,0)-1,0)

INDIRECT+ADDRESS+MATCH

=INDIRECT(ADDRESS(MATCH(B11,B4:B7,0)+3,5))

用数组公式

=INDEX(E1:E7,MAX(IF((B4:B7=B11),ROW(B4:B7),0)))

查找及引用

如何查找并引用B2单元格中所显示日期当日的相应代码的值。

B3=IF(COUNTIF($E$3:$E$20,A3),VLOOKUP($A3,$E$2:$M$20,MATCH(B$2,$F$2:$M$2,)+1,),"")

查找函数的应用

我想在A5输入表的名称,B5自动跳出该表中B列的最后一个有效数值,请问B5的公式该如何设定?

=LOOKUP(9E+307,INDIRECT(A5&"!"&"B:B"))

B2=IF(A2="","",LOOKUP(9E+307,INDIRECT(A2&"!B:B")))

怎么能方便的判断某个单元格中包含多少个指定的字符?

例:A1中是“ASAFAG”,我希望计算出A1里面有多少个“A”......

=LEN(A1)-LEN(SUBSTITUTE(A1,"A",""))

如何用查找函数

一、要求: 利用公式从左表中查询相应的地区,结果放在H14单元格

=VLOOKUP(G14,IF({1,0},D14:D18,C14:C18),2,)

h14=OFFSET(C14,MATCH(G14,D14:D18,0)-1,,,)

H14=INDIRECT("c"&MATCH(G14,D:D,))

二、要求: 根据C25单元格的商品名称,查找该商品的最新单价,即该商品最后一条记录的单价(结果放在D25单元格)。用数组公式:

=INDIRECT("G"&MAX((D14:D22=C25)*ROW(D14:D22)))

D25=LOOKUP(2,1/(D14:D22=C25),G14:G22)

日期查找的问题

我有一个日期比如:2007/02/12,我想知道它减去一个固定天数比如6,最接近它的一个星期四(只能提前)是多少号

2007/02/12的答案应该是2007/02/01而不是2007/02/08

日期在A1处,B1处输入:=MAX((WEEKDAY(A1-6-{1,2,3,4,5,6,7},2)=4)*(A1-6-{1,2,3,4,5,6,7}))

A1  =2007/02/12

B1,输入公式 :

=A1-6-MOD(WEEKDAY(A1-6,2)+3,7)

如何自动查找相同单元格内容

=SUMPRODUCT(($D$2:$D$15=A21)*($E$2:$E$15))

=IF(ISERROR(VLOOKUP(A6,$D$2:$E$15,2,0)),0,VLOOKUP(A6,$D$2:$E$15,2,0))

查找函数

D3=LOOKUP(2,1/(($G$3:$G$14=B3)*($H$3:$H$14=C3)),$I$3:$I$14)

=IF(ISERROR(VLOOKUP(A14,A:B:D:F,2,FALSE)),"",VLOOKUP(A14,A:B:D:F,2,FALSE))

=IF(ISERROR(VLOOKUP(C2,k!B2:Z2189,2,FALSE)),"",VLOOKUP(C2,k!B2:Z2189,2,FALSE))

怎样对号入座(查找)

=VLOOKUP(D2,$A$1:$B$5,2,FALSE)

=INDEX($B$2:$B$5,MATCH(D2,$A$2:$A$5,0))

=OFFSET($A$1,MATCH(D2,$A$2:$A$5,0),1)

=VLOOKUP(D2,$A$1:$B$16,2,)

=VLOOKUP(D2,IF({1,0},$A$1:$A$9,$B$1:$B$9),2,)

=LOOKUP(2,1/($A$1:$A$10=D2),$B$1:$B$10)

一个文本查找的问题

如何在一个单元格中,统计某个字符出现的次数,例如:单元格A1中填有:张三/李四/王五",如何通过公式来计算此单元格中共填有几个人姓名,每个人姓名之间用"/"符号分开,烦请相告.

=LEN(A1)-LEN(SUBSTITUTE(A1,"/",))+1

查找一列中最后一个数值

我想用公式知道,另一个表中"A"列最下面一个数是多少,就行了.用不定值的,因为还有数据有增加,

=LOOKUP(9E+307,Sheet2!A:A)——最后一个数值

=LOOKUP(REPT("",255),Sheet2!A:A)——最后一个文本

=INDEX(Sheet2!A:A,MATCH(9E+307,Sheet2!A:A))

=INDEX(Sheet2!A:A,MATCH("*",Sheet2!A:A,-1))

Match(rept("",255),sheet2!A:A)

查找重复字符

两组数值

                     B

1245689               0134578

查找单元格A和B里重复及不重复的字符

正确答案:重复字符-1458

        不重复字符-023679

以下公式对数字有效:

重复数字:

=IF(COUNT(FIND(0,A1:B1))=2,0,"")&SUBSTITUTE(SUM(IF(ISNUMBER(FIND(ROW($1:$9),A1))+ISNUMBER(FIND(ROW($1:$9),B1))=2,ROW($1:$9)*10^(10-ROW($1:$9)))),0,)

不重复数字:

=IF(COUNT(FIND(0,A1:B1))=1,0,"")&SUBSTITUTE(SUM(IF(ISNUMBER(FIND(ROW($1:$9),A1))+ISNUMBER(FIND(ROW($1:$9),B1))=1,ROW($1:$9)*10^(10-ROW($1:$9)))),0,)

都是数组公式,按Ctrl+shift+enter结束。

重复数字:

=IF(COUNT(FIND(0,A1:B1))=2,0,"")&SUBSTITUTE(SUM(IF(MMULT(COUNTIF(OFFSET(A1,,{0,1},),"*"&ROW($1:$9)&"*"),{1;1})>1,ROW($1:$9)*10^(9-ROW($1:$9)))),0,)

不重复数字:

=IF(COUNT(FIND(0,A1:B1))=1,0,"")&SUBSTITUTE(SUM(IF(MMULT(COUNTIF(OFFSET(A1,,{0,1},),"*"&ROW($1:$9)&"*"),{1;1})<2,ROW($1:$9)*10^(9-ROW($1:$9)))),0,)

请教查找替换问题

把表1中字符在4个以上的字段(4)查找出来,替换成表2中的人名,最好在原位置修改,或者在新的一列上生成也成,只要其他内容保持不变并按原来的顺序即可。

=IF(LEN(A2)<4,A2,OFFSET(2!$A$1,SUMPRODUCT(--(LEN($A$2:A2)>3))-1,))

=IF(LEN(A2)<4,A2,INDEX(2!A:A,COUNTIF($A$2:A2,"="&"????*")))

IF函数替换法总结

条件说明:小于10返回500,小于20返回800,小于30返回1100,小于40返回1400,大于40返回1700

类似于以上要求,大家最先想到IF函数,这也本属IF专长。但用IF一般要长长的公式,且计算较慢。现总结一下IF之替换公式,望能抛砖引玉,在我的倡导下各位提供更完善的方案。其中部分公式通用,部分公式有局限性,请看说明。(18个条件公式,根据速度,排名如下)

1=SMALL({500;800;1100;1400;1700},COUNTIF($A$9:$A$13,"<="&A1))

2=INDEX({500;800;1100;1400;1700},COUNTIF($A$9:$A$13,"<="&A1))

3=CHOOSE(COUNTIF($A$9:$A$13,"<="&A1),500,800,1100,1400,1700)

4=LOOKUP(A1,{0,10,20,30,40},{500,800,1100,1400,1700})

5=MIN(4,INT(A1/10))*300+500

6=MATCH(A1,{0,10,20,30,40})*300+200

7=MIN(40,FLOOR(A1,10))*30+500

8=HLOOKUP(A1,{0,10,20,30,40;500,800,1100,1400,1700},2,1)

9=200+SUM((A1>={0;10;20;30;40})*300)

10=FREQUENCY({0,10,20,30,40},A1)*300+200

11=MAX((A1>={0,10,20,30,40})*{500,800,1100,1400,1700})

12=INDEX({500;800;1100;1400;1700},MATCH(A1,{0;10;20;30;40},1))

13=CHOOSE(MATCH(A1,{0;10;20;30;40},1),500,800,1100,1400,1700)

14=500+SUM(IF(A1>={10,20,30,40},{300,300,300,300}))

15=IF(A1<10,500,IF(A1<20,800,IF(A1<30,1100,IF(A1<40,1400,1700))))

16=CHOOSE(SUM((A1>={0;10;20;30;40})*1),500,800,1100,1400,1700)

17=MAX((INT(A1/({10;20;30;40}))>0)*(ROW($1:$4)*300))+500

18=CHOOSE(MIN(INT(A1/(ROW($1:$4)*10))+1,5),500,800,1100,1400,1700)

新增公式:

19=CHOOSE(MIN(INT(A1/(ROW($1:$4)*10))+1,5),500,800,1100,1400,1700)

20{=MAX((INT(A1/(ROW($1:$4)*10))>0)*(ROW($1:$4)*300))+500}

21=500+MIN(4,MAX(0,INT(A1/10)))*300

22MAX((A1>={0,10,20,30,40})*{500,800,1100,1400,1700})

23=MATCH(A1,{0,10,20,30,40})*300+200

24=MIN(40,FLOOR(A1,10))*30+500

25=FREQUENCY(ROW($1:$5)*10-10,A1)*300+200

查找的函数(查找末位词组)

(数组公式:)=REPLACE(A2,1,MAX(IF(MID(A2,ROW($1:$100),1)="",ROW($1:$100))),)

=REPLACE(A2,1,LOOKUP(1,0/(MID(""&A2,ROW($1:$100),1)=""),ROW($1:$100))-1,)

(数组公式:)=RIGHT(A2,MATCH(1,FIND(" ",RIGHT(""&A2,ROW($1:$100))),)-1)

=TRIM(RIGHT(SUBSTITUTE(A2," ",REPT("",50)),50))  (好)

其实这个公式的思路,是可以变化的,改变REPT()中的数值, 可以返回,指定空格位置後的数据,比如:

A1  =

10个普通公式,分别为 :

1=TRIM(RIGHT(SUBSTITUTE(A1,"",REPT("",100)),100))返回第0空格位置後的数据>

2=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",50)),100))返回第8空格位置後的数据>3=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",40)),100))返回第7空格位置後的数据>

4=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",30)),100))返回第6空格位置後的数据>

5=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",23)),100))返回第5空格位置後的数据>

6=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",18)),100))返回第4空格位置後的数据>

7=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",14)),100))返回第3空格位置後的数据>

8=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",12)),100))返回第2空格位置後的数据>

9=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",11)),100))返回第1空格位置後的数据>

10=TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",9)),100))返回第0空格位置後的数据>

怎样从原始数据中自动获取最后一个数据

原始数据                                       

      12                               

      1221                               

      12                               

      33                               

      33                       自动获取       

      432                            432

      33                             33

      22                             44

      44                             23

      23                               

公式=LOOKUP(1,0/($A$1:$A$100=C2),$B$1:$B$100)

两列数据查找相同值对应的位置

=MATCH(B1,A:A0)

查找数据公式两个(基本查找函数为VLOOKUP,MATCH)

(1)、根据符合行列两个条件查找对应结果

=VLOOKUP(H1A1E7MATCH(I1A1E10)FALSE)

(2)、根据符合两列数据查找对应结果(为数组公式)

=INDEX(C1C7MATCH(H1&I1,A1:A7&B1:B7,0))

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel常用函数公式及技巧(5)
72个反向查找的公式套路,都看明白的就成精了!
只会Vlookup就弱爆了!这8个函数组合,才是Excel界的战斗机
总结篇--速速来看,函数高手们必备的技能
EXCEL中多条件查找的15种方法探讨
excel常用函数公式大全:IF函数替换法总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服