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

Excel公式技巧76:解决IF函数与数组函数的冲突

在Excel中,有一些函数可以接受数组参数进行数组运算,例如SUMPRODUCT函数,它们不需要像数组公式那样,在输入结束前要按Ctrl+Shift+回车键。然而,IF函数打破了这个规则。...如果这些函数的参数是由IF函数提供,那么还是需要按Ctrl+Shift+回车键。 如下图1所示,要求一级的分数和。 ?...图1 我们使用SUMPRODUCT函数,因其是一个数组函数,输入公式后,原认为其无须按Ctrl+Shift+回车键,然而结果是错误值#VALUE!。...图2 规则:如果在IF函数的参数logical_test中有数组计算,那么公式需要按Ctrl+Shift+回车键,即便将其作为数组函数的数组参数。...此时,如果你想创建一个无需按Ctrl+Shift+回车键的公式,则需要使用其它的方法来代替公式中的IF函数。可以使用: (B3:B8="一级")*(C3:C8) 达到相同的判断效果。

3K30

Excel公式技巧47: MID函数的妙用

我们知道MID函数从文本字符串中指定的起始位置返回指定长度的字符串,例如: =MID(B2,3,1) 获取单元格B2中的第3个字符,如下图1所示。 ?...如果想要获取文本字符串中的第5个和第6个字符,可以使用数组公式: =MID(B2,{5,6},1) 结果如下图2所示。 ?...那么,想要先获取文本字符串中的第6个字符、再获取第5个字符,如何使用公式呢?很简单,将上面数组公式中的5和6颠倒即可: =MID(B2,{6,5},1) 结果如下图3所示。 ? 神奇吧!这里是关键!...这使我们可以利用MID函数从右向左取值,也可以按任意顺序取值。 例如,获取文本字符串中第3个、第6和第8个字符,使用数组公式: =MID(B2,{3,6,8},1) 结果如下图4所示。 ?...获取文本字符串中的第6个、第3个和第8个字符,使用数组公式: =MID(B2,{6,3,8},1) 结果如下图5所示。 ? 后面,我们会在实际的公式中运用这个技巧。

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

    精通Excel数组公式011:令人惊叹的SUMPRODUCT函数

    在Excel 2003及以前的版本中,不总是可能去使用D-函数,因为它们需要合适的数据集,并且难以将公式复制到其它单元格。 3....在使用Excel 2007及以后的版本时,可能会碰到在Excel 2007发布以前已经创建的带有SUMPRODUCT函数的公式的工作表。 4....示例中,使用了更有效率的COUNTIFS函数和SUMIFS函数。 在Excel 2007及以后的版本中,COUNTIFS函数和SUMIFS函数提供了以下优势: 1....如果使用的是Excel 2003或以前的版本,在数据集和条件区域中带有字段名的合适的数据集,不需要复制公式到其它单元格,那么使用D-函数更有效率,公式的计算时间比SUMPRODUCT函数更快。...图17:SUMIFS函数接受在公式中连接在一起的条件,示例在公式中将比较运算符(加上双引号)和单元格中的值相连接。 ?

    6.9K10

    Excel公式技巧24: Excel公式中的降维技术

    进一步,使用公式: =MID(A1,{1,2},{1;2;3}) 可以得到一个3行2列数组: {"A","m";"Am","ma";"Ama","map"} 公式中两个参数值的数组彼此正交,MID函数的参数...这样,Excel返回#N/A作为结果数组中的第三个元素。 实际上,Excel为了解决传递两个大小不同的数组的问题,重新定义了两个中较小的一个,使其匹配较大的数组。...;"M","o",#N/A;"A","i",#N/A;"A","i",#N/A} 可参考《Excel公式技巧06: COUNTIFS函数如何处理以数组方式提供的条件》中讲解的对数组的解析的内容。...根据其定义,列向量当然是一维的。这里使用的技术请参阅《Excel公式技巧03:INDEX函数,给公式提供数组》、《Excel公式练习44:从多列中返回唯一且按字母顺序排列的列表》。...可以看出,INDEX结构具有不可否认的优势,不仅可以将其用于重新定义工作表区域的维度,还可以重新定义公式中某些其他子函数产生的数组的维度。

    2.4K22

    Excel中6个怪异的公式,你知多少?

    文 | 兰色幻想-赵志东 在excel中我们有时会看到一些奇奇怪怪的公式,为了帮助新手学习,兰色今天带大家一起盘点这些公式。 公式1:=Sum(表1:表20!...公式2:=Sum(C:C 2:2) 揭密:这是一个交叉引用的求和公式,用空格隔开2个区域。 用法:=Sum(区域1 区域2) 作用:可以对excel2个单元格交叉区域进行引用。 ?...公式3:=Sum(A1:Offset(c1,1,2)) 揭密:在区域引用中使用函数返回的单元格引用 用法:区域开始单元格:函数返回的引用 作用:生成动态区域引用和简化公式用 公式4:=_xlfn.SUMIFS...(C:C,A:A,E2,B:B,F2) 揭密:如果在03版中打开07版以后用新增函数创建的公式,会自动添加前辍_xlfn....$C$2:$C$9,2) 揭密:选取图表系列时,在编辑栏中显示该公式。是图表的数据来源和设置。 用法:=SERIES(字段名,X轴标识,数据区域,系列序号) 作用:可以修改该公式改变图表的设置。 ?

    2.8K50

    精通Excel数组公式019:FREQUENCY函数的威力

    然而,在Excel中,原始数据经常来自于带有许多重复值的大数据集。如果想要使用公式统计唯一值数量或者提取唯一值列表,由于没有内置函数能够完成这两项任务,因此必须使用数组公式。...图2:统计唯一的文本数量 同样,这里使用了两个公式,都可以得到想要的结果。注意到,对于文本统计,使用COUNTIF函数的公式比使用FREQUENCY函数的公式更简单。...使用FREQUENCY函数统计非数字数据需要MATCH函数和ROW函数的配合。这些同样适合统计混合数据中的唯一值,如下图3所示。 ?...图5:基于条件统计唯一值 在FREQUENCY函数的公式中与上面的示例不同的是,本示例中的公式又添加了两个IF函数来进行条件判断。 示例4:使用通配符 可以在公式中使用通配符,其中: 1.?...本示例正确答案是5 注:本文为电子书《精通Excel数组公式(学习笔记版)》中的一部分内容节选。你可以到知识星球App的完美Excel社群下载这本电子书的完整中文版。

    1.1K20

    Excel公式技巧05: IFERROR函数,从结果中剔除不需要的值

    学习Excel技术,关注微信公众号: excelperfect 在使用公式时,我们经常遇到将某个值从结果数组中剔除,然后将该数组传递给另一个函数的情形。...例如,要获取单元格区域中除0以外的最小值,可以使用数组公式: =MIN(IF(A1:A100,A1:A10)) 或者对于Excel 2010及以后的版本,使用AGGREGATE函数: =AGGREGATE...在这种情形下,特别是公式相当长时,重复的子句将使公式更长,这使得公式看起来很“笨重”,并且还会使Excel进行一些不必要的计算,例如: =MIN(IF([a_very_long_formula]0,...并且,这样的公式对于很小的数据量来说可能算不了什么,但是如果数据量很大且有很多相同的公式,将公式的主要部分计算两次将占用双倍的资源。如果有一个与IFERROR函数类似的IFZERO函数就好了!...也可以使用这项技术处理在公式中包含重复的单元格路径引用的情形。

    6.4K20

    Excel公式技巧39: COUNTIF函数在文本排序中的应用

    我们知道,COUNTIF函数通常用于查找指定单元格区域中满足条件的单元格数量。然而,COUNTIF函数有一个比较有用的用法,它可以统计指定区域中大于或小于指定值的单元格数量。...因此,使用COUNTIF函数,我们可以找到单元格区域中任意单元格中值的顺序。当我们知道这些顺序后,就可以使用VLOOKUP函数来查找对应的单元格中的值,从而实现按顺序对这些单元格中的值排序。...如下图1所示,在单元格B6中,使用公式: =COUNTIF(C6:C15,"<="&C6) 得到单元格C6中的文本在单元格区域C6:C15的文本中,由小到大排在第10位。...将公式下拉至单元格B15,得到相应的列C中文本在单元格区域C6:C15中文本的排序位置。 ?...图1 在单元格E6中的公式为: =VLOOKUP(ROW()-ROW(E5),B6:C15,2,FALSE) 其中,ROW()-ROW(E5)的值为1,即查找单元格区域B6:C15中列B中的值为1对应的列

    6.7K20

    Excel公式技巧:使用OFFSET函数生成的数组

    SUBTOTAL函数允许使用有限数量的工作表函数对此类数组进行操作,但它不会展现进行公式操作的这个数组。...使用3作为SUBTOTAL函数的第一个参数计算可见区域内的项目数。由于每个区域内只有一项,因此答案只能是0或1,如下图1所示。 图1 这样,此公式可以用作数组,指示列表中已过筛选和未筛选的行。...图2 图3 在单元格B12中的公式: =SUM((range1="完美Excel")*(SUBTOTAL(3,OFFSET(range2,ROW(range2)-MIN(ROW(range2)),,1...)))) 单元格B13中的公式: =SUM((range1="完美Excel")*(SUBTOTAL(9,OFFSET(range2,ROW(range2)-MIN(ROW(range2)),,1)))...) 与SUBTOTAL函数一起使用的OFFSET函数返回一个数组,该数组可用作数组公式的一个元素。

    2K30

    Excel公式:获取句子中位于最后的词的3个典型公式

    标签:Excel公式,数组公式 好久没有碰复杂的公式了,这不,手又有点痒痒了。这里的示例来自excelunplugged.com,权当练练手,活动活动头脑。...如下图1所示,将列A中句子的最后一个单词提取到列B中。(这里的最后一个单词用数字代替) 图1 解决的公式貌似复杂,实则不难。...图2 注意,输入完后按Ctrl+Shift+Enter组合键,Excel会自动添加两侧的花括号。...;0;0}*{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15} 得到: {0;0;0;0;5;0;0;0;0;0;0;0;13;0;0} 传递给MAX函数获得数组的最大值为: 13...本文配套示例工作簿已放置在知识星球App完美Excel社群中,有兴趣的朋友可以前往下载。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    1.2K40

    Excel公式技巧:Excel公式中的数字9.99999999E+307

    这个数字:9.9999999E+307,我们经常会在公式中用得上它。这是一个神奇的数字,在查找数值时能够发挥很大的作用。本文介绍的就是这个数字的使用技巧。...9.9999999E+307是Excel能够识别的最大数字,它通常与LOOKUP函数或MATCH函数结合使用,以查找列/行中的最后一个数字条目,或分别查找行/列中数值的最后一行行号/列号。...在本示例中,LOOKUP函数查找最后一个小于或等于查找值9.9999999E+307的条目,类似的规则或MATCH函数返回行号。...因此,要查找列中的最后一个数字条目,可以使用: =LOOKUP(9.9999999E+307,A:A) 或者从行中返回最后一个数字条目: =LOOKUP(9.9999999E+307,1:1) 类似地,...要获取数字条目的最后一行,使用公式: =MATCH(9.99999E+307,A:A) 或者,对于行,使用公式: =MATCH(9.99999E+307,1:1) 有兴趣的朋友,可以仔细研究,在需要时可以将此技术进行灵活运用

    1.3K30

    Excel公式技巧:基于单列中的多个条件求和

    标签:Excel公式,SUMPRODUCT函数 基于列中的条件求和通常使用SUMIF函数或者SUMIFS函数,特别是涉及到多条件求和时。然而,随着条件的增多,公式将会变得很长,难以理解。...而使用SUMPRODUCT函数,可以判断同一列中的多个条件且公式简洁。 如下图1所示的示例。...*($C$2:$C$12)) 公式中,使用加号(+)来连接条件,表明满足这两个条件之一。...也可以使用下面更简洁的公式: =SUMPRODUCT(($A$2:$A$12="东区")*(($B$2:$B$12={"超市1","超市2"}))*($C$2:$C$12)) 公式中,使用了花括号,允许在其中放置多个条件...,因此,如果需要满足的条件更多的话,就可以通过逗号分隔符将它们放置在花括号中,公式更简洁。

    5.9K20

    【Excel】用公式提取Excel单元格中的汉字

    所以总结了一下提取汉字的几种情况。 一、用公式提取Excel单元格中的汉字 对于一个混杂各种字母、数字及其他字符和汉字的文本字符串,要提取其中的汉字,在Excel中通常可用下面的公式。...说明:LENB函数和LEN函数都可用返回文本字符串中的字符数,不同的是,LENB函数会将每个汉字(双字节字符)的字符数按2计数,LEN函数则对所有的字符,无论是单字节还是双字节都按1计数,因而公式中的“...说明:公式先用MID函数将字符串中的每个字符分解到到一个字符数组中,然后用LENB函数返回各字符的的字符数,对于汉字会返回“2”。...用MATCH函数取得第一个“2”的位置,即第一个汉字的位置,最后再用MID函数提取汉字。 使用上述公式时要求字符串中的汉字是连续的,中间没有其它字符分隔。...返回Excel工作表界面,在B14单元格中输入公式: =提取汉字(A14) 即可取得A14单元格字符串中的所有汉字。 二、用公式提取引号(某2个相同字符)之间的内容 ?

    11.9K61

    Excel公式技巧32: 处理公式中的布尔值

    在我们编写公式时,特别是编写数组公式时,往往会生成由TRUE/FALSE值组成的中间数组。...有些Excel函数可以忽略这些布尔值,例如SUM函数,但是很多函数不能处理这些布尔值,如果将它们传递给这些函数,就会导致错误。因此,在将这些布尔值传递给函数继续处理时,需要将它们转换成数字。...在Excel中,TRUE值等于1,FALSE值等于0,那么如何将TRUE/FALSE值转换成1/0呢?最常用的方法是使用数学运算。...使用双减号: --{TRUE,FALSE}=(-1)*(-1)*{TRUE,FALSE}=1*{TRUE,FALSE}={1,0} 例如,在《Excel公式练习63:求数值中的各个数字之和》中,我们可以使用下面的公式...有时候,公式本身就会与生成的数字相乘,这样也会将TRUE/FALSE进行相应的数字转换。至于如何使用,具体情况灵活使用相应的方法。

    3.1K10

    「R」tidyverse 中的公式函数

    本文的写作由来是知识星球一个朋友对如何在 tidyverse 系列包中使用公式函数(单侧公式)不太熟悉,所以通过本文分享一下我的心得。...公式生成匿名函数 利用公式这一特点,tidyverse 系列包有很多函数支持用单侧公式替换函数。如果你仔细阅读过相关文档,例如 ?...公式函数用法 核心是什么 公式函数的优点在于提供了一种构造匿名函数的简洁方式。而核心在于在同一行代码表示如何使用输入构造出输出。...基本用法 假设我们要对 df 中的 x 和 y 列进行归一化处理,在不使用 scale() 函数的情况下,我们可能会手写一个函数: scale2 <- function(x) { (x - mean...在公式中,我们可以直接使用前面已经定义的变量,这里是 cfs。

    4.7K20
    领券