首页
学习
活动
专区
圈层
工具
发布

Excel公式技巧20: 从列表中返回满足多个条件的数据

IF子句,不仅在生成参数lookup_value的值的构造中,也在生成参数lookup_array的值的构造中。...A10=F1)*B2:B10)),C2:C10) 先看看公式中的: (A2:A10=F1)*B2:B10 转换为: ({12345;12345;12345;12345;12345;54321;54321...:B10 转换为: ({FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE})*B2:B10 得到: {0;0;0;0;0;3;4;1;2} 现在,来到公式中巧妙的部分...}) 求倒数之前数组中的最大值(即我们关注的值)为求倒数之后数组中的最小值。...由于数组中的最小值为0.2,在数组中的第7个位置,因此上述公式构造的结果为: {0;0;0;0;0;0;1;0;0;0} 获得此数组后,我们只需要从列C中与该数组出现的非零条目(即1)相对应的位置返回数据即可

18.2K10

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

,即两个都是单行数组或都是单列数组,Excel将一个数组的元素与另一个数组中相应位置的元素“配对”。...这样,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结构具有不可否认的优势,不仅可以将其用于重新定义工作表区域的维度,还可以重新定义公式中某些其他子函数产生的数组的维度。

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

    Excel公式技巧45: 按出现的频率依次提取列表中的数据

    如下图1所示,列A中是原来的数据,列B中是从列A中提取后的数据,其规则是:提取不重复的数据,并将出现次数最多的放在前面;如果出现的次数相同,则保留原顺序。...示例中,“XXX”和“DDD”出现的次数最多,均为3次,但“XXX”在原数据中排在“DDD”之前,因此提取的顺序为“XXX、DDD”。 ? 图1 下面先给出公式,然后再详细解释。...公式中的“Data”为定义的名称: 名称:Data 引用位置:=A2:A9 1....得到的结果数组为:{1;2;3;4;3;4;3;4}。这样,就将数据字符串转换成了数字,便于Excel进行处理。 4....MODE(IF(ISNA(MATCH(Data,B$1:B1,0)),MATCH(Data,Data,0)*{1,1})) MODE函数返回传递给它的列表中出现次数最多的数字。

    5.4K30

    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.9K30

    Excel公式练习94:统计子列表在列表中出现的次数

    引言:本文的练习整理自chandoo.org。多一些练习,想想自己怎么解决问题,看看别人又是怎解决的,能够快速提高Excel公式编写水平。 本次的练习是:计算子列表在列表中出现的次数。...对于名为“List”和“Sublist”的两个列表,计算“Sublist”在“List”中出现的次数。其中,“List”和“Sublist”是可变长度的。...示例数据如下图1所示,你的列表和子列表的位置可能与图示不相同,也可以假设两个列表都在行中,子列表中的项可能会重复,但列表中需要完全匹配才能对其进行计数。...图1 不应该使用任何辅助单元格、中间公式或者VBA。 写下你的公式。...解决方案 公式1: 输入数组公式: =SUM(N(FREQUENCY((List=TRANSPOSE(Sublist))*(ROW(List)-TRANSPOSE(ROW(Sublist))),(List

    2.9K30

    Excel公式练习44: 从多列中返回唯一且按字母顺序排列的列表

    本次的练习是:如下图1所示,单元格区域A2:E5中包含一系列值和空单元格,其中有重复值,要求从该单元格区域中生成按字母顺序排列的不重复值列表,如图1中G列所示。 ?...图1 在单元格G1中编写一个公式,下拉生成所要求的列表。 先不看答案,自已动手试一试。...在单元格H1中的公式比较直接,是一个获取列表区域唯一值数量的标准公式: =SUMPRODUCT((Range1"")/COUNTIF(Range1,Range1&"")) 转换为: =SUMPRODUCT...在单元格G1的主公式中: =IF(ROWS($1:1)>$H$1,"", 如果公式向下拖拉的行数超过单元格H1中的数值6,则返回空值。 3....,详情可参阅《Excel公式技巧03:INDEX函数,给公式提供数组》。

    6.6K31

    Excel公式技巧46: 按出现的频率依次提取列表中的数据并排序

    导语:在《Excel公式技巧44:对文本进行排序》中,我们使用COUNTIF函数并结合SMALL/MATCH/INDEX函数对一系列文本进行排序,无论这些文本中是否存在重复值。...在《Excel公式技巧45:按出现的频率依次提取列表中的数据》中,我们使用MATCH/ISNA/IF/MODE/INDEX函数组合提取一系列文本中不重复的数据并按出现的频率且按原数据顺序来放置数据。...如下图1所示,列A中是原来的数据,列B中是从列A中提取后的数据,其规则是:提取不重复的数据,并将出现次数最多的放在前面;按字母顺序排列。...公式中的“Data”为定义的名称: 名称:Data 引用位置:=A2:A9 1....显然,Data中的每个数据都在B1:B1中找不到,因此返回{0;0;0;0;0;0;0;0}。我们看看在单元格B4中的公式,公式变为COUNTIF(B 2.

    9.8K20

    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.8K10

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

    昨天一个前端的朋友找我帮忙用excel提取代码中的汉字(字符串),可算费了劲儿了,他要提取的内容均在单引号中,但问题是没有统一的规律,同一个单元格可能存在多个要提取的内容,而且汉字中间也夹杂其他字符。...所以总结了一下提取汉字的几种情况。 一、用公式提取Excel单元格中的汉字 对于一个混杂各种字母、数字及其他字符和汉字的文本字符串,要提取其中的汉字,在Excel中通常可用下面的公式。...说明:公式先用MID函数将字符串中的每个字符分解到到一个字符数组中,然后用LENB函数返回各字符的的字符数,对于汉字会返回“2”。...返回Excel工作表界面,在B14单元格中输入公式: =提取汉字(A14) 即可取得A14单元格字符串中的所有汉字。 二、用公式提取引号(某2个相同字符)之间的内容 ?...(A2,"'",""))))-FIND("'",A2)-1) 在excel中,如何查询字符串的第N次出现位置,或最后一次出现位置,使用公式: 最后一次出现位置 =FIND("这个不重复就行",SUBSTITUTE

    20.4K62

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

    标签:Excel公式,数组公式 好久没有碰复杂的公式了,这不,手又有点痒痒了。这里的示例来自excelunplugged.com,权当练练手,活动活动头脑。...如下图1所示,将列A中句子的最后一个单词提取到列B中。(这里的最后一个单词用数字代替) 图1 解决的公式貌似复杂,实则不难。...图2 注意,输入完后按Ctrl+Shift+Enter组合键,Excel会自动添加两侧的花括号。...公式中: MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1) 会得到由组成句子的单个字母组成的数组: {"P";"o";"o";"l";" ";"P";"l";"a";"y"...本文配套示例工作簿已放置在知识星球App完美Excel社群中,有兴趣的朋友可以前往下载。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    1.7K40

    Excel技巧:创建数字列表的2种基本方法

    标签:Excel技巧,自动填充,Excel公式 本文讲解在Excel中创建数字列表的2种不同技巧。这些列表有静态列表,也有动态列表,动态列表会随着添加或删除项目而发生更改。...图2 然而,上述方法创建的数字列表都是静态的,也就是说,当在数据行之间插入新行或者删除行时,数字列表不会随之变化,我们需要再次重复上面的操作。...方法2:使用公式,创建动态数字列表 可以使用公式创建一个动态数字列表,当添加或删除行时,数字会自动更新。 要使用公式创建动态数字列表,可以使用ROW函数。ROW函数返回单元格的行号。...如下图3的示例数据。可以在单元格A2中输入公式: =ROW()-ROW(A1) 然后,双击填充句柄或者向下拖拉至数据末尾。...注意,公式中的ROW()表示当前行的行号,减去ROW(A1)是因为数据不从第1行开始,所以减去开始行前一行的行号。 图3 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    2.7K30

    Excel公式:获取列表中最大数值和对应的条目

    excelperfect 引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。...本次的练习是:给定一个包含数字和文本条目的单列列表,查找数字总和最大值对应的条目。示例数据如下图1所示,公式应该返回“c”,因为其对应的数字总和9是最大的。...图1 公式应该是仅涉及Excel函数的单个公式,该公式引用一个包含值列表的命名区域x(示例中,该命名区域代表单元格区域A1:A12)。 同时,假设数字都是正的。 请写下你的公式。...,有兴趣的朋友可以参照前面推送的有关分析公式的文章对这些公式进行解析,相信对理解Excel函数,编写公式解决问题会有很大的帮助。...也许有人会问,为什么要编写这么复杂的公式?其实,在这里的主要目的,是通过编写公式解决复杂的Excel问题来磨练公式与函数应用技能,也让研究Excel的大脑时刻保持良好的状态。

    1.6K10

    Excel公式练习45: 从矩阵数组中返回满足条件的所有组合数

    本次的练习是:如下图1所示,在一个4行4列的单元格区域A1:D4中,每个单元格内都是一个一位整数,并且目标值单元格(此处为F2)也为整数,要求在单元格G2中编写一个公式返回单元格A1:D4中四个不同值的组合的数量...公式 在单元格G2中的数组公式为: =SUM(0+(MMULT(IFERROR(N(OFFSET(A1,IF(MMULT(0+(ISNUMBER(FIND({1,2,3,4},ROW(INDIRECT(...不幸的是,在Excel中生成这种排列的数组绝非易事。在Excel中生成大型数组唯一现实的方法是通过使用ROW函数的公式构造。...采取下面的公式构造: TEXT(MMULT(MOD(INT((ROW(1:256)-1)/4^{3,2,1,0}),4),10^{3;2;1;0}),"0000") 这种构造背后的原理是Excel与数学的综合...2.不仅要理解Excel函数原理,而且要打好数学基础,这是灵活应用公式的一切。

    4.5K10

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

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

    7.2K20

    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)) 公式中,使用了花括号,允许在其中放置多个条件...,因此,如果需要满足的条件更多的话,就可以通过逗号分隔符将它们放置在花括号中,公式更简洁。

    7.7K20

    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轴标识,数据区域,系列序号) 作用:可以修改该公式改变图表的设置。 ?

    3.4K50

    Excel公式技巧48: 生成从大到小连续的整数

    在编写公式时,经常要用到连续的整数,例如取单元格区域中的值、取文本数据中的连续字符,等等。通常,我们使用ROW函数来生成连续的整数,例如数组公式: =ROW(1:8) 结果如下图1所示。 ?...一般来说,以单元格中文本长度为最后的数字,例如 ROW(1:LEN(B2)) 我们希望生成数组{1,2…,LEN(B2)},但Excel会将其视作无效引用。...可以看到,我们生成的是从小到大的连续整数。然而,有些情形下,需要生成从大到小的连续整数,例如: {n, n-1, n-2, …, 1} 很简单,再进行一次数学运算即可。...例如,生成{10, 9, 8, … , 1},可以使用数组公式: =11-ROW(1:10) 如下图3所示。 ?...如果以单元格中的文本长度为上限来生成从大到小的整数,可以使用数组公式: =LEN(B2)+1-ROW(INDIRECT("1:"& LEN(B2))) 如下图4所示。 ?

    1.8K30
    领券