首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据人必会的Excel|掌握这些逻辑函数,让公式嵌套更简便!!

条件逻辑函数,如AND、OR、IF,在公式嵌套使用时非常常用也非常重要,而且它们学起来也并不难。 ? IF和AND函数 ? ?...在Excel逻辑判断中IF经常和AND,OR连用,表示在某种条件下执行固定的操作,和SQL中Case When的用法极为相似。...IF和AND嵌套使用时,只有AND函数中所有条件都满足时才会返回TRUE;而IF和OR连用时,只需要满足OR函数中的一个条件就会返回TRUE。...例4,我们通过IFNA函数查找部分员工的工资,当没有该员工信息时,则返回“查无此人”。 公式:IFERROR(VLOOKUP(H4:H9,A4:F19,6,0),"查无此人")。...公式:IFNA(VLOOKUP(H4:H9,A4:F19,6,0),"查无此人")。 方法:直接在目标单元格输入上述公式即可。 ? 如果您觉得我们的文章还不错,请分享,点赞,再看,一键三连!!!

1.7K20

错误不可怕,就看你如何使用ISNA函数

为了测试MATCH的结果,将其嵌套在ISNA函数中: =ISNA(MATCH(A2,D2:D9,0)) 如下图2所示。...图3 VLOOKUP/ISNA组合的Excel公式 IF/ISNA组合是一个通用的解决方案,可以与任何函数一起使用,该函数在一组数据中搜索某些内容,并且在找不到查找值时返回#N/A错误。...为了查找科目,构造了经典的VLOOKUP公式: =VLOOKUP(A2,D3:E9,2,FALSE) 然后将其嵌套在上面讨论的通用IF/ISNA公式中: =IF(ISNA(VLOOKUP(A2,D3:E9,2...图4 在Excel 2013及更高版本中,可以利用IFNA函数捕获和处理N/A错误。这使你的公式更短,更容易阅读。...例如,将#N/A错误替换为破折号(“-”),并得到这个优雅的解决方案: =IFNA(VLOOKUP(A2,D3:E9,2,FALSE),"-") 结果如下图5所示。

9.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel公式技巧17: 使用VLOOKUP函数在多个工作表中查找相匹配的值(2)

    我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作表: ?...这样,获取值的数组公式(单元格C7)如下: =VLOOKUP(A7&”|”&B7,INDIRECT("'"&INDEX(Sheets,MATCH(TRUE,COUNTIF(INDIRECT("'"&Sheets...函数在多个工作表中查找相匹配的值(1)》。...C:C"),$B11)>0,0) 名称:Arry2 引用位置:=ROW(INDIRECT("1:10"))-1 在单元格C11中的数组公式如下: =INDEX(INDIRECT("'"&INDEX(Sheets...因此,在单元格C11的公式中的: INDIRECT("'"&INDEX(Sheets,Arry1)&"'!D1:D10") 转换为: INDIRECT("'"&INDEX(Sheets,3)&"'!

    14.1K10

    Excel公式技巧16: 使用VLOOKUP函数在多个工作表中查找相匹配的值(1)

    在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...最简单的解决方案是在每个相关的工作表中使用辅助列,即首先将相关的单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作表中使用辅助列,特别是要求在被查找的表左侧插入列时。...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”对应的Amount列中的值,如下图4所示。 ?...B1:D10"),3,0) 其中,Sheets是定义的名称: 名称:Sheets 引用位置:={"Sheet1","Sheet2","Sheet3"} 在公式中使用的VLOOKUP函数与平常并没有什么不同...2个工作表即Sheet2中执行VLOOKUP操作。

    25.5K21

    在 TypeScript 中始终抽象嵌套类型

    在 TypeScript 中,我看到过多次出现这种情况,您有一个复杂的对象,该对象可能具有嵌套对象,例如下面的示例:interface ComplexObject { a: string; b: number...现在假设我们想要编写一个以该对象作为输入的函数,可能会进行一些插值,并且可能会返回该对象的子对象,例如嵌套属性,您可能会有以下代码:const printObj = (obj: ComplexObject...处理类似上面的复杂对象的更好方法是将所有嵌套属性抽象为它们自己的接口/类型。...IntelliSense 检查相同的函数,您将获得更加易读的输出:const printObj: (obj: ComplexObject) => ComplexObjectNested您还可以添加一个优点,即您还可以将嵌套接口用于其他目的

    16400

    IF等逻辑表达汇总

    是IF中默认的'否则就...'...所以你嵌套IF的时候就不用写IF(AND(B2>30,B2<=90)这种啦 因为已经默认>30了 AND-OR-NOT-XOR 上面也提到了一点and 这不是我们学过的数学的写法 学过的数学里面是...也就在在[大于180,名字为4个字]两个条件中,只能满足其中一个并且不能满足另一个条件....ifna是专门针对#N/A错误处理的函数 例如Vlookup提到的#N/A错误 用ifna+vlookup可以处理找不到的情况专门显示一个提示 同时以防有其他错误看不出来 因为iferror会抹掉所有错误...而VLLLL根本不是一个函数 正常会报错 所以还是ifna+vlookup吧 ---- 以上 PS 为了生成这篇文章的案例 我还特意去百度了[Python生成随机中文名] 并稍微修改了一下

    64810

    在Python中实现Excel的VLOOKUP、HLOOKUP、XLOOKUP函数功能

    事实上,我们可以使用相同的技术在Python中实现VLOOKUP、HLOOKUP、XLOOKUP或INDEX/MATCH等函数的功能。...VLOOKUP可能是最常用的,但它受表格格式的限制,查找项必须位于我们正在执行查找的数据表最左边的列。换句话说,如果我们试图带入的值位于查找项的左侧,那么VLOOKUP函数将不起作用。...在最新的Office中,Microsfot推出了XLOOKUP公式,但它只在Office 365中可用。...在第一行中,我们用一些参数定义了一个名为xlookup的函数: lookup_value:我们感兴趣的值,这将是一个字符串值 lookup_array:这是源数据框架中的一列,我们正在查找此数组/列中的...在我们的例子中是xlookup。

    7.4K11

    查找函数VLOOKUP

    这是一个很多人入门Excel的函数 这是一个使用率极高的函数 这是一个变幻多姿的函数 在2019大纲之前,写过两篇关于Vlookup函数的文章 >>>>>>VLOOKUP 之一>>>>>> VLOOKUP之多条件查找<<<<<< 其中一篇还是手机码字的 阅读体验肯定不太好 再讲一遍 Vlookup(查找值,范围,范围中的第几列,模糊还是精确查找) 直接上例子 这是今天的案例数据...A列,要返回的内容也必须在范围内 4 在A:E中从左往右数4列,ABCD,也就是D列 如果范围是B:E,那4就代表E列了.因为BCDE,第四个是E 0 精确查找.如无意外这个参数基本都是0 细心的你发现...,下面还有一个'杯子' 但是却只找到了第一个单价115 这是因为Vlookup是从上往下查找的 什么意思呢 就是找到了在最上方的第一个匹配值之后就停止查找 在实际应用中 我还经常看到有人把Vlookup...函数就报错 #N/A 通过看返回结果是否有内容 我们来判断是否存在值 如果要好看一点 我们可以加'除错'函数IFNA改一下不存在时候的提示文字 还是在实际应用中 我们经常不止一列用到Vlookup函数

    59620

    Spring中,多个service发生嵌套,事务是怎么样的?

    报错原因 多层嵌套事务中,如果使用了默认的事务传播方式,当内层事务抛出异常,外层事务捕捉并正常执行完毕时,就会报出rollback-only异常。...在项目中,一般我们都会使用默认的传播方式,这样无论外层事务和内层事务任何一个出现异常,那么所有的sql都不会执行。在嵌套事务场景中,内层事务的sql和外层事务的sql会在外层事务结束时进行提交或回滚。...注:PROPAGATION_NESTED基于数据库savepoint实现的嵌套事务,外层事务的提交和回滚能够控制嵌内层事务,而内层事务报错时,可以返回原始savepoint,外层事务可以继续提交。...加入到这个事务中。...PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

    1K10

    Spring中,多个service发生嵌套,事务是怎么样的?

    报错原因 多层嵌套事务中,如果使用了默认的事务传播方式,当内层事务抛出异常,外层事务捕捉并正常执行完毕时,就会报出rollback-only异常。...在项目中,一般我们都会使用默认的传播方式,这样无论外层事务和内层事务任何一个出现异常,那么所有的sql都不会执行。在嵌套事务场景中,内层事务的sql和外层事务的sql会在外层事务结束时进行提交或回滚。...注:PROPAGATION_NESTED基于数据库savepoint实现的嵌套事务,外层事务的提交和回滚能够控制嵌内层事务,而内层事务报错时,可以返回原始savepoint,外层事务可以继续提交。...加入到这个事务中。...PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

    9.8K40

    在MapReduce中利用MultipleOutputs输出多个文件

    用户在使用Mapreduce时默认以part-*命名,MultipleOutputs可以将不同的键值对输出到用户自定义的不同的文件中。...实现过程是在调用output.write(key, new IntWritable(total), key.toString()); 方法时候第三个参数是  public void write(KEYOUT...value, String baseOutputPath) 指定了输出文件的命名前缀,那么我们可以通过对不同的key使用不同的baseOutputPath来使不同key对应的value输出到不同的文件中,...context         ) throws IOException, InterruptedException {             output.close();         }     } 在reduce...的setup方法中  output = new MultipleOutputs(context); 然后在reduce中通过该output将内容输出到不同的文件中   private Configuration

    2.1K20

    在Linux中设置RAID 10或1 + 0(嵌套)

    在我们以前的文章中,我们已经了解了如何设置RAID 0和RAID 1,最少2个磁盘。 在这里,我们将使用RAID 0和RAID 1执行Raid 10设置,最少4个驱动器。...在Linux中创建Raid 10 使用RAID 0,将保存为第一盘和第二盘的“P”,“A”,随后又在第二盘第一盘“P”和“L”。 然后,“E”,在第一次盘,这样它会继续循环赛过程中保存数据。...要求 在RAID 10中,我们至少需要4个磁盘,前2个磁盘用于RAID 0,其他2个磁盘用于RAID 1.像我之前说的,RAID 10只是RAID 0和1的组合。...# mkdir /mnt/raid10 # mount /dev/md0 /mnt/raid10/ # ls -l /mnt/raid10/ 接下来,在安装点下添加一些文件,并在文件的任何一个中附加一些文本...希望这有助于您了解RAID 10嵌套RAID级别。 让我们看看如何增长一个现有的raid数组和更多在我的即将到来的文章。

    1.9K20

    transactionscope mysql_c# – 嵌套的TransactionScope在测试中失败

    我正在尝试在我的数据库访问类库中使用TransactionScope在需要时执行回滚.另外,在我的测试代码中,我希望在每次测试之前使用TransactionScope将数据库恢复到已知状态.我使用TestInitialize...函数中构造TransactionScope对象,我相信我应该得到一个新的事务范围(没有“环境”存在,所以我相信这个“​​.RequiresNew”在技术上并不重要“.required”会产生相同的结果....我的测试安排使这个DoOtherDessertStuff函数失败并抛出异常,所以调用transScope.Complete();不会发生,并且在退出AddDessert函数中的using块时会自动进行回滚...太棒了,所以我想我会改变我的AddDesert方法看起来与上面完全一样,除了我会嵌套一个事务范围而不是使用环境范围,一些我使用的行看起来像这样: using (var transScope = new...TransactionScope(TransactionScopeOption.RequiresNew)) 这里的意图是我可以嵌套这些事务范围,让我的生产代码中的回滚发生,然后仍然在我的测试代码中检查我的

    2.1K10

    在错误分析中并行多个想法

    用有小开发集里的4个错误分类样本来说明这个过程,你的表格大概将会是下面的样子: 表格中Image3的Great cat和Blurry列都被勾选了:可以将一个样本与多个类别相关联, 这就是为什么最后的百分比加起来不足...实际中,当你查看样例时,可能会受到启发,然后提出一些新的错误类别。例如,当你查看过十几张图像后,你发现许多错误都经过Instagram(一款美图软件)的滤镜处理。...你可以在表格中添加一列Instagram,看看图像是否被滤镜处理过。手动查看算法出错的样例,并思考正常人是如何将这些样例正确分类的。这通常会启发你提出新的类别和解决办法。...如果你的团队有足够多的人可以同时展开多个方向,你让一部分人解决Great cat问题,另一部分人解决Blurry问题。 错误分析并不会得出一个明确的数学公式来告诉你最应该先处理哪个问题。...你还必须考虑在不同错误类别上取得的进展,以及每个错误类别所需的工作量。

    2.9K90

    在错误分析中并行多个想法

    表格中Image3的Great cat和Blurry列都被勾选了:可以将一个样本与多个类别相关联, 这就是为什么最后的百分比加起来不足100%的原因。...实际中,当你查看样例时,可能会受到启发,然后提出一些新的错误类别。例如,当你查看过十几张图像后,你发现许多错误都经过Instagram(一款美图软件)的滤镜处理。...你可以在表格中添加一列Instagram,看看图像是否被滤镜处理过。手动查看算法出错的样例,并思考正常人是如何将这些样例正确分类的。这通常会启发你提出新的类别和解决办法。...如果你的团队有足够多的人可以同时展开多个方向,你让一部分人解决Great cat问题,另一部分人解决Blurry问题。 错误分析并不会得出一个明确的数学公式来告诉你最应该先处理哪个问题。...你还必须考虑在不同错误类别上取得的进展,以及每个错误类别所需的工作量。

    1.3K10

    在Ubuntu 系统中怎么切换多个 PHP 版本

    请参阅我们的旧指南,在这了解如何降级 Ubuntu 及其衍生版中的软件包以及在这了解如何降级 Arch Linux 及其衍生版中的软件包。但是,你无需降级某些软件包。我们可以同时使用多个版本。...例如,假设你在测试部署在 Ubuntu 18.04 LTS 中的LAMP 栈的 PHP 程序。...过了一段时间,你发现应用程序在 PHP 5.6 中工作正常,但在 PHP 7.2 中不正常(Ubuntu 18.04 LTS 默认安装 PHP 7.x)。...在这个简短的教程中,我将向你展示如何在 Ubuntu 18.04 LTS 中切换多个 PHP 版本。它没你想的那么难。请继续阅读。...在多个 PHP 版本之间切换 要查看 PHP 的默认安装版本,请运行: $ php -v PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55

    2.5K20

    Excel小技巧54: 同时在多个工作表中输入数据

    excelperfect 很多情形下,我们都需要在多个工作表中有同样的数据。此时,可以使用Excel的“组”功能,当在一个工作表中输入数据时,这些数据也被同时输入到其它成组的工作表中。...如下图1所示,将工作表成组后,在一个工作表中输入的数据将同时输入到其它工作表。 ?...图1 要成组工作表,先按住Ctrl键,然后在工作簿左下角单击要加入组中的工作表名称,此时工作簿标题中会出现“名称+组”,如下图2所示。 ?...图2 注意,如果一直保持工作表“组合”状态,可能会不小心在工作表中输入其它工作表中不想要的内容。因此,要及时解除组合状态。...单击除用于输入内容的工作表外的任意工作表名称,则可解除工作表组合;或者在工作表名称标签中单击右键,在快捷菜单中选取“取消组合工作表”命令。

    3.2K20
    领券