表格函数的意思跟使用方法

中国古代发明2022-07-09  21

一.语法

首先看看IF函数的语法。

if(逻辑测试,值if真,值IF假)

逻辑测试,逻辑值或表达式。

Value_if_true,logical_test为true时返回的值。

Value_if_false,logical_test为false时返回的值。

逻辑值可以用真和假或1和0来表示。如果第一个参数是任意数字,只有当数字为0时才为假,其他数字都为真。例如,=IF(-1,1,0)得出1,=IF(2,1,0)得出1,=IF(0,1,0)得出0。

如果第一个参数是表达式,注意表达式的写法。写出数学表达式a =

你可以看到所有的y值都是0。为什么?

公式计算步骤如下:首先计算0

TRUE lt=1,逻辑值为真和假,大于EXCEL允许的最大值9.9999 * 10 ^ 307,所以这个公式的结果为假。如果条件为假,则获取value_if_false的值,结果为0。这里有一个额外的解释。如果比较两个逻辑值TRUE和false的大小,true >: FALSE。

正确的写法之一= if (a2

实践中,很多朋友不喜欢这样写。他们喜欢用OR和AND来连接多个条件。

这个题目的另一种写法= if (and (a2 >: =0,A2 lt=1),0.5,0)

其实我们经常用*和+代替AND和OR。意味着两个条件同时成立,=和(a2 >;=0,A2 lt=1)相当于=(A2 >:= 0)*(A2 lt;=1);

意味着只能满足两个条件中的一个,=或(a2 >: =0,A2 lt=1)相当于=(A2 >:= 0)+(A2 lt;=1).

和或和这两个函数我一般不会广泛使用。一是表达式的逻辑值容易混淆,二是增加了公式的长度。比如下面这个问题:如果A1和B1都是空,C1是空;如果A1不是空,B1是空,C1是1;如果A1是空,B1不是空,C1是2;如果A1和B1不是空,则C1是3。如果广泛使用和,则公式

=IF(AND(A1= " ",B1= " " ",IF(AND(A1 lt; gt"",B1= " ",1,IF(AND(A1= " ",B1 lt gt""),2,3)))

该公式属于IF的多重嵌套。多重嵌套的一个特点就是括号至少和最后好像一样多。这里有三个如果,你可以看到最后有三个括号。这个特性可以帮助我们判断多个嵌套的if公式是否有省略括号的情况。

如果不使用和,则公式

=IF(A1= "",IF(B1= " "," ",2),IF(B1= " ",1,3))

这个公式也使用了三个if。第二个if确定A1为空时B1是否为空。第三个IF在A1不空时判断B1是否空。

二。IF函数的缩写

缩写1: IF(逻辑_测试,值_ if _真)

这里省略了第三个参数,当logical_test为false时,结果为FALSE。为了节省文字,书写公式在一定条件下更加简洁。如图所示,考试结果如下表所示。缺席考生成绩不计,取各班最低分。

E2输入公式

= MIN(IF(($ A $ 2:$ A $ 16 = D2)*($ B $ 2:B $ 16 lt; gt""),$B$2:$B$16))

然后按ctrl+shift+enter下拉填充。

MIN函数忽略文本值和空值"",以及逻辑值TRUE和FALSE。空单元格将被视为0,因此这里需要删除空值。

如果只获得每类的最高分,则公式重写为

= max(($ a $ 2:$ a $ 16 = D2)* $ b $ 2:$ b $ 16),然后按ctrl+shift+enter下拉填充。

同样,MAX函数忽略文本值和空值“”,也忽略逻辑值TRUE和FALSE。

缩写2: IF(logical_test,value_if_true,)

这里,第三个参数是0,并且空以逗号开始,而不是书写。这种写法出现在很多公式中,常用的函数除了偏移函数和替代函数一般都表示0。OFFSET的第二个和第三个参数只写逗号表示0,第五个参数只写逗号表示对应的引用区间宽度为1。SUBSTITUTE的第三个参数只写逗号用空值替换旧文本。

三、关于“去若”的一些写法

虽然IF函数非常简单,但有时过多的IF嵌套会显得公式太长。这时候就需要简化公式了。这里举个例子来说明。

首先,算算工龄。规则:性别为男,年龄未满18周岁,工龄为0,工龄大于等于18周岁的,从1开始,最长工龄为50。性别为女的,年龄未满18周岁,工龄为0。如果工作年龄大于或等于18岁,最高工作年龄为45岁。如图所示:

C2输入公式

=MEDIAN(0,B2-17,45+(A2= "male") *5),下拉填充。

第二,计算评价结果。规则:60分以下视为不及格,60分以上视为及格,70分以上视为良好,80分以上视为良好,90分以上视为优秀。如图所示:

这类问题属于经典问题,方案1,IF的多重嵌套:

= IF(A2 lt;60,“不及格”,if (a2 < 70,“及格”,if (A2 < 80,“良好”,if (A2 < 90,“良好”,“优秀”)))

二、VLOOKUP的近似匹配:

=VLOOKUP(A2,{0,"失败";60,“及格”;70,“好”;80,“还行”;90,“优秀”},2,1)

三、LOOKUP的基本用法:

=LOOKUP(A2,{ 0;60;70;80;90}、{“失败”;“通过”;“好”;“好”;“优秀”})

第四,文本的多重嵌套:

= TEXT(TEXT(TEXT(A2-60,"[ gt;=0];Fail "),"[>:= 10];Pass "),"[>:= 20];好”)、“[>;=30]优秀;好的”)

二解和三解需要注意条件。判断条件是左闭右开区间,形如a

B2输入公式

= IF(A2 lt;=3,LOOKUP(3-A2,{0,1,2},{8,5,3}),8+2*CEILING(A2-3,1))

解决方案属于文本函数IF的远亲。文本函数属于变种之王,兼职IF函数,使用该函数在某些情况下可以减少公式的长度。如图,将字符X-Y拆分成X,X+1,X+2,...,Y(X,Y都是正整数,Y大于X)

A2公式

=TEXT(LEFT($A,FIND("-",$A)-1)+ROW(A1)-1,"[ lt;= " ampMID($A,FIND("-",$A)+1,99) amp;"];"),下拉填充。

再举一个文字应用的例子,如图。

C2公式

= IF(B2 lt;7,"小于7 ","大于或等于" amp TEXT(41-4*MATCH(A2,{"A "," B "," C"},),"[ lt;= " ampB2 amp;"];7小于0”))

这两个例子属于文本的应用。感兴趣的童鞋可以查看一下文字功能的高级用法。

在某些情况下,CHOOSE函数还可以简化if函数,如图所示来计算评级:

D2输入公式

=LOOKUP(C2,CHOOSE(MATCH(B2,{ "重点班","普通班","美术班","体育班" },),{0,70,80,90},{0,60,70,80},{0,50,}

CHOOSE function此处选择满足条件的区域,以获取查找函数的第二个参数。

以上是我对IF函数的理解。当然IF函数也可以生成内存数组,常见于VLOOKUP函数的逆向查询和一对多查询。格式=IF({1,0},区域1,区域2)。由于本人水平有限,这里就不展开了。欢迎朋友们批评指正,谢谢!

转载请注明原文地址:https://juke.outofmemory.cn/read/658830.html

最新回复(0)