excelif函数多条件套用函数的用法 excelif函数怎么用

IF的简单应用很多人都会,语句也相对比较直接:

IF(条件测试,条件满足时时返回的值,条件不满足时返回的值)

不过要是有很多不同的条件,需要多个IF的套用,公式看上去就会很复杂。事实上,Excel 也限制了一个单元格里最多使用12个IF的套用。

如果你的条件是针对同一个单元格的匹配或比较,你就可以考虑使用VLOOKUP和LOOKUP来简化你的公式了。

完全匹配

比如说:

数值结果
D 列 = 00
D 列 = 1001
D 列 = 2005
D 列 = 30010

我们在 Excel 的 A、 B 两列列出这个关系。

ABCDEE 列公式
1001001=VLOOKUP(D1,$A$1:$B$4,2,0)
2100130010=VLOOKUP(D2,$A$1:$B$4,2,0)
3200500=VLOOKUP(D3,$A$1:$B$4,2,0)
43001020#N/A=VLOOKUP(D4,$A$1:$B$4,2,0)

上面VLOOKUP的公式,实际上就是找出D 列的值在整个范围里是在哪一行,返回对应的第二个数据。最后一个 0 是指完全匹配(等于 FALSE)。 通过VLOOKUP,你要增加多少个条件都很简单。

如果条件不多,又不想用另外两列列条件,可以直接用数组替代查找范围。如 E1 的公式就可以用下面的公式替代:

=VLOOKUP(D1,{0,0;100,1;200,5;300,10},2,0)

在公式里把整个查找范围以 { } 将范围括起,每一行以分号(;)区分,每一行里的不同数据以逗号(,)区分,结果会完全一样。

除了数字之外,不管是查找值还是查找结果,都可以直接使用文本,如:

ABCDEE 列公式
1苹果水果苹果水果=VLOOKUP(D1,$A$1:$B$4,2,0)
2香蕉水果萝卜蔬菜=VLOOKUP(D2,$A$1:$B$4,2,0)
3萝卜蔬菜香蕉水果=VLOOKUP(D3,$A$1:$B$4,2,0)
4青椒蔬菜番茄#N/A=VLOOKUP(D4,$A$1:$B$4,2,0)

用数组公式同样可以用文本,如:=VLOOKUP(E1,{"苹果","水果";"香蕉","水果";"萝卜","蔬菜";"青椒","蔬菜"},2,0)

在上面的例子可以看见,如果查找值没在查找范围里,会返回错误 #N/A。 要避免报错,在 2007 版加上IFERROR,在2003 版加上IF(ISNA(...,如:

=IFERROR(VLOOKUP(D1,$A$1:$B$4,2,0),"没找到对应值")

=IF(ISNA(VLOOKUP(D1,$A$1:$B$4,2,0)),"没找到对应值",VLOOKUP(D1,$A$1:$B$4,2,0))

数据比较(大于等于一定值)

比如说:

数值结果
100 〉 D 列 ≥ 00
200 〉 D 列 ≥ 1001
300 〉 D 列 ≥ 2005
D 列 ≥ 30010

同样,我们在 A、 B 两列列出这个关系(必须是从小到大)。

ABCDEE 列公式
1002005=VLOOKUP(D1,$A$1:$B$4,2)
2100131010=VLOOKUP(D2,$A$1:$B$4,2)
320051501=VLOOKUP(D3,$A$1:$B$4,2)
430010-1#N/A=VLOOKUP(D4,$A$1:$B$4,2)

要决定查找值是否大于等于一定值,实际上就是在VLOOKUP公式中把完全匹配的要求去掉。这公式同样可以直接用数组,如:

=VLOOKUP(D1,{0,0;100,1;200,5;300,10},2)

除了用VLOOKUP,也可以用LOOKUP函数:

=LOOKUP(D1,$A$1:$A$4,$B$1:$B$4)

=LOOKUP(D1,{0,100,200,300},{0,1,5,10})

分别就是VLOOKUP里是整个范围既包括条件,也包括结果;LOOKUP是把条件跟结果分开。如果用数组,VLOOKUP是一个条件紧接着一个结果,然后再列下一个条件和结果;LOOKUP是先用一个数组列所有条件,再用另一个数组列结果。

另外,如果查找值小于范围的最低值就会返回错误。要避免报错,除了用上面的方法之外,还可以增加一个非常小的数作为条件,如:

=VLOOKUP(D1,{-9E+99,"范围外";0,0;100,1;200,5;300,10},2)

=LOOKUP(D1,{-9E+99,0,100,200,300},{"范围外",0,1,5,10})

数据比较(小于等于一定值)

这种数据比较常用,比如我们个人所得税的累进税率就属于这种数据比较。 可是在 Excel 函数中,不管用的是LOOKUP还是VLOOKUP,只要找到相应的值,就会马上返回到下一个结果。所以要做≤ 会比较困难。

比如说:

excelif函数多条件套用函数的用法 excelif函数怎么用
数值结果
D 列 ≤ 00
0 〈 D 列 ≤ 1001
100 〈 D 列 ≤ 2005
200 〈 D 列 ≤ 30010

不管有几位小数,夸张一点,就变成:

数值结果
0 〉 D 列 - 1E-10 ≥ -9E+990
100 〉 D 列 - 1E-10 ≥ 01
200 〉 D 列 - 1E-10 ≥ 1005
300 〉 D 列 - 1E-10 ≥ 20010
D 列 - 1E-10 ≥ 300范围外

折衷的做法是改变你的条件。如果A1是固定只有一个小数位,可以把条件改成:

数值结果
0 〉 D 列 - 0.01 ≥ -100
100 〉 D 列 - 0.01 ≥ 01
200 〉 D 列 - 0.01 ≥ 1005
300 〉 D 列 - 0.01 ≥ 20010
D 列 - 0.01 ≥ 300范围外

这样一看,就跟上面 ≥ 的情况一样了。用了 1E-10 而没用 1E-99 是因为 Excel本身计算时使用小数位位数的限制。

ABCDEE 列公式
1-9E+9902005=VLOOKUP(D1-1E-10,$A$1:$B$5,2)
201310范围外=VLOOKUP(D2-1E-10,$A$1:$B$5,2)
31005501=VLOOKUP(D3-1E-10,$A$1:$B$5,2)
420010-10=VLOOKUP(D4-1E-10,$A$1:$B$5,2)
5300范围外

用数组公式就是:

=VLOOKUP(D1-1E-10,{-9E+99,0;0,1;100,5;200,10;300,"范围外"},2)

=LOOKUP(D1-1E-10,{-9E+99,0,100,200,300},{0,1,5,10,"范围外"})

  

爱华网本文地址 » http://www.aihuau.com/a/25101010/22498.html

更多阅读

round函数怎么用 精 java round函数怎么用

round函数怎么用 精——简介round函数通常用于四舍五入求值,通常函数中会传入两个参数,第一个参数是要四舍五入的数字。第二个参数就是位数,按此位数对第一个参数进行四舍五入。round函数使用的范围很广,下面就跟随小编一起来看看round

VBA编程中MsgBox函数怎么用 vba msgbox

VBA编程中MsgBox函数怎么用——简介Excel编程中的MsgBox函数用于输出一个对话框,该函数在编程调试以及输出结果方面具有极为重要的意义。下面小编就为大家讲解一下该函数的具体使用方法。VBA编程中MsgBox函数怎么用——方法/步骤

移动的3g网络该怎么用 移动4g卡放在3g手机上

移动的3g网络该怎么用——简介3G网络,是指使用支持高速数据传输的蜂窝移动通讯技术的第三代移动通信技术的线路和设备铺设而成的通信网络。3G网络将无线通信与国际互联网等多媒体通信手段相结合,是新一代移动通信系统。对于移动3g网络

photoshop混合选项中的正片叠底怎么用 photoshop混合选项

photoshop混合选项中的正片叠底怎么用——简介很多初学者在用photoshop给线稿上色的时候会纠结上色的时候色彩覆盖了线稿的线条。正片叠底很好的解决了这一个问题。photoshop混合选项中的正片叠底怎么用——工具/原料photoshopph

金施尔康多维元素片的用法用量是什么 三七粉用法用量

我们网上药店对于山村多维生素已经做过详细的介绍。想必大家对于金施尔康多维元素片已经有了自己的了解。现在准备购买金施尔康多维元素片的朋友一定对于山村多维生素片还想有进一步了解。那么,金施尔康多维元素片用法和用量是怎样的

声明:《excelif函数多条件套用函数的用法 excelif函数怎么用》为网友天使诱惑分享!如侵犯到您的合法权益请联系我们删除