Excel的IF嵌套IF,IFS,VLOOKUP解决同一问题

剖析Excel表格中一项应用场景:如何利用多样化的公式解决同一核心问题。具体而言,我们设想这样一个场景:依据D列中的特定要求,对A列中所记录的学生成绩进行等级划分,并将划分结果精准地记录在B列之中。

在实际操作中,为实现上述目标,我们可灵活运用多种函数。其中,IF函数便是一个不错的选择。它可以根据成绩的不同范围,自动设置相应的等级,这种方法直观明了,尤其适用于那些成绩范围划分明确的数据处理场景。此外,我们亦可以借助VLOOKUP函数,结合预先设定的等级表,快速查找并返回对应的等级信息。

示例一:IF嵌套IF(从低到高)

在B2单元格公式输入=IF(A2<60,\”不及格\”,IF(A2<70,\”及格\”,IF(A2<90,\”良好\”,IF(A2<100,\”优秀\”,\”满分\”)))

公式解释:

这个公式是一个典型的IF嵌套IF函数用法,用于根据单元格A2中的数值来判断成绩等级。

首先检查A2是否小于60,如果是,则返回\”不及格\”。

如果A2不小于60,则进入下一个IF函数,检查A2是否小于70,如果是,则返回\”及格\”。

如果A2不小于70,则进入下一个IF函数,检查A2是否小于90,如果是,则返回\”良好\”。

如果A2不小于90,则进入下一个IF函数,检查A2是否小于100,如果是,则返回\”优秀\”。

如果A2不小于100,则返回\”满分\”。

示例二:IF嵌套IF(从高到低)

在B2单元格输入公式=IF(A2=100,\”满分\”,IF(A2>=90,\”优秀\”,IF(A2>=70,\”良好\”,IF(A2>=60,\”及格\”,\”不及格\”))))

示例三:VLOOKUP函数的方式

首先构造一个等级表(D1:E6),在等级表将分数从低到高进行排列,然后在B2单元格输入公式=VLOOKUP(A2,$D$2:$E$6,2),获取等级表中第2列的值。

公式解释:在 D2 到 E6 的表格中查找 A2 单元格中的值,如果找到,返回该行第二列(E 列)的值。如果没有找到精确匹配项,它将返回最接近的较小值,如A2成绩大于0但没有大于60所以返回E2的值,依次类推。

示例四:IFS函数的方法

第四种方式:B2单元格公式=IFS(A2<60,\”不及格\”,A2<70,\”及格\”,A2<90,\”良好\”,A2<100,\”优秀\”,A2=100,\”满分\”)

公式解释:IFS 函数检查是否满足一个或多个条件,且返回符合第一个 TRUE 条件的值。 IFS 可以取代多个嵌套 IF 语句,并且有多个条件时更方便阅读。IFS 函数允许最多 127 个不同的条件。

Excel一对多匹配,Vlookup太弱了,2种新方法

举个工作例子

左边是人事信息,有部门,员工信息,一个部门有多名员工。

现在需要根据姓名,把所有的员工信息给查找匹配出来,并且所有结果需要放在一个单元格里面,想要的效果,如右边所示:

因为涉及到一对多查找匹配,我们需要借助辅助列来完成

我们在右边空白列,输入的公式是:

=IFERROR(VLOOKUP(A2,A3:D100,4,0),\”\”)&\”,\”&B2

它的工作原理很简单

比如,查找A2的市场部的时候,它会查找匹配A3:D100区域,也就是下面数据对应的第4行数据,对应D行,然后再和本身的B2连接起来

通过错位递归的方式,把所有属于自己部门的信息给串起来了

然后我们在G2单元格只需要输入的公式是:

=MID(VLOOKUP(F2,A:D,4,0),2,100)

使用VLOOKUP函数公式,查找匹配第一个出现的结果,然后再使用MID函数,去除掉最左边的逗号,就可以得到我们想要的结果了

如果我们不想使用辅助列来完成,那我们可以使用IF函数搭配TEXTJOIN公式

首先,我们使用IF函数,把对应部门的信息给提取出来,其余的就变成空白

当我们输入公式:

=IF(A:A=E2,B:B,\”\”)

它就只会保留市场部对应的员工信息

然后我们再使用TEXTJOIN公式,将这些文本连接起来,使用第2参数TRUE,自动忽略空白值

所以我们组合用法是:

=TEXTJOIN(\”,\”,TRUE,IF(A:A=E2,B:B,\”\”))

第一参数是用什么来分隔,这里使用逗号

第二参数TRUE,忽略了空白值

第三参数,就是连接哪些文本,使用IF函数嵌套

当我们输入公式:

=FILTER(B:B,A:A=E2)

它表示,对B列的数据进行筛选,筛选的条件是A列里面,对应E2的值

它就会把市场部所有的员工信息给筛选出来了

但是它会位于不同的单元格内

这个时候,如果我们想把它放在一个单元格里面,就可以使用公式:

=ARRAYTOTEXT(FILTER(B:B,A:A=E2))

它就可以将文本用逗号连接起来,得到我们想要的结果

上面3种方法,你更喜欢用哪种?动手试试吧!

vlookup函数的嵌套你用过吗?一次可以引用3个表格的数据

Hello,大家好,对于IF函数的嵌套相信很多人都不陌生,但是vlookup函数的嵌套却鲜有人知,今天就跟大家分享下它的使用方法,可以实现一次查找多个表格的效果。如下图,我们想要查找李白,刘备和猪八戒的身高,但是不知道他们到底是在上面的哪一个表格中,很多人遇到这样的问题,都是先确定数据的位置,然后再查找数据。相当的较麻烦的。当我们掌握了vlookup函数的嵌套之后,就能实现一次查找三个表格的数据,快速提高工作效率,简单又实用,下面我们就来学习下吧

想要实现vlookup函数的嵌套我们需要借助IFERROR函数,这个函数相信很多人都非常的熟悉,我们经常使用它来屏蔽vlookup函数的错误值,下面我们就先来学习下这个函数吧

IFERROR函数:如果第一参数为错误值,则返回第二参数的结果,第一参数不是错误值,则返回第一参数

语法:=IFERROR(value, value_if_error)

这个函数的非常简单,它的效果如下图所示,如果第一参数为错误值就会返回第二参数1这个结果,如果第一参数不是错误值就会返回第一参数本身0这个结果,以上就是这个函数的使用方法,下面我们来看下如何使用这个函数实现vlookup函数的嵌套

我们想要达到一次查找三个表格的数据,只需要将公式设置为:=IFERROR(VLOOKUP(F12,$A$1:$D$5,4,0),IFERROR(VLOOKUP(F12,$F$1:$H$6,3,0),VLOOKUP(F12,$J$1:$K$7,2,0))),然后点击回车向下填充即可,这个公式虽然看起来很长,但是却非常的容易理解,下面跟大家介绍下它的查找原理

如下图所示我们利用IFERROR函数将3个vlookup函数一层一层的嵌套在一起,这个函数的主体是IFERROR函数,所以只要vlookup能查找到结果函数就会返回这个结果,如果找不到结果他就会一直向下计算直到最后一步

函数的计算顺序是从左向右依次计算,第一个IFERROR函数的第一参数查找的是表1的数据,如果这个为错误值,就会返回第一个IFERROR函数的第二参数,在这里第二参数中我们嵌套了另一个IFERROR函数,它就会继续向下查找表2与表3的数据,这个就是它的计算过程

查找两个表格需要一个IFERROR函数,查找3个表格需要2个IFERROR函数,以此类推,IFERROR函数的个数比查找的数据区域少1

以上就是今天分享的全部内容,怎么样?你学会了吗?

我是Excel从零到一,关注我,持续分享更多Excel技巧

(此处已添加圈子卡片,请到今日头条客户端查看)

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。