Excel数组公式的神奇妙用
EXCEL数组公式详解提升数据处理效率

EXCEL数组公式详解提升数据处理效率在现代办公环境中,微软Excel被广泛用于数据分析和汇总。
特别是在面对大量数据时,数组公式展现出了其无与伦比的优势。
数组公式不仅可以提高计算速度,还能有效地处理复杂的数据操作。
接下来将对Excel数组公式进行深入剖析,帮助你更轻松地驾驭这一强大工具。
什么是数组公式数组公式,顾名思义,是可以处理多个值(数组)并返回一个或多个结果的公式。
与普通公式不同,数组公式能够同时对多个单元格进行操作,往往在处理复杂数据时显得尤为重要。
例如,常用的求和、平均、计数等操作,数组公式提供了更加灵活的解决方案。
数组公式的基本语法数组公式的输入方式与普通公式类似,但有一个关键不同点。
在输入完公式后,必须使用组合键Ctrl+Shift+Enter(CSE)来确认,Excel会将其识别为数组公式。
这样,你会在公式栏看到公式被大括号{}包裹,表示这是一个数组公式。
例如,假设在单元格A1到A5中有若干数据,想要计算其平方和,可以使用以下公式:=SUM(A1:A5^2)完成输入后,按下Ctrl+Shift+Enter,Excel将自动计算出所有单元格值的平方和。
数组公式的优势在众多功能中,数组公式的优势主要体现在以下几个方面:处理大量数据:数组公式能够同时处理多个数据点,使得数据处理的效率大幅提升,尤其在面对大型数据集时。
简化复杂计算:利用数组公式,可以将多个步骤合并为一条公式,减少错误和提高一致性。
例如,若需要查询一个列表中的特定条件,可以通过数个嵌套公式简化为一个数组公式,从而提高可读性和维护性。
增强数据分析能力:数组公式可以实现一些普通公式无法完成的任务。
比如,可以通过数组公式跨越多个区域进行自动筛选、汇总甚至是查找。
数组公式的常见应用在实际操作中,数组公式可以用于各种情况。
以下是一些典型的应用场景:1.求和与计数可以使用数组公式快速计算符合特定条件的总和或者计数。
例如,若要在A列中计算所有大于100的数字之和,可以使用:=SUM(IF(A1:A10>100,A1:A10,0))同样的方式用于计数:=COUNT(IF(A1:A10>100,1))2.数据提取通过数组公式,可以从一组数据中提取出暖特定条件的数据,像使用组合、查找等形式。
Excel高级函数之数组公式的高级应用

Excel高级函数之数组公式的高级应用在Excel中,数组公式是一种强大的计算工具,它能够处理大量数据并进行复杂的运算。
本文将介绍数组公式的高级应用,让你更好地掌握Excel的数据分析和处理能力。
一、数组公式简介数组公式是一种特殊的Excel公式,它能够同时处理多个数值,并返回一个结果。
数组公式具有以下特点:1. 数组公式可以处理一维或多维数据。
通过数组公式,你可以使用多个数据范围进行计算,获得更全面的结果。
2. 数组公式可以进行复杂的运算。
使用数组公式,你可以进行求和、求平均值、排序等操作,甚至可以进行矩阵运算和统计分析。
3. 数组公式具有强大的灵活性。
你可以通过修改数据范围或调整公式的参数来实现不同的计算目标。
二、数组公式的基本用法1. 输入数组公式在使用数组公式之前,首先要了解如何正确输入它们。
输入数组公式的方法有两种:(1) 使用Ctrl+Shift+Enter组合键输入。
当你在输入数组公式时,按下Ctrl+Shift+Enter,Excel会自动在公式周围添加大括号“{}”,表示这是一个数组公式。
(2) 使用函数助手输入。
在输入公式时,你可以使用函数助手来选择要使用的数组函数,并自动生成相应的数组公式。
2. 数组公式的基本函数Excel提供了许多数组函数,下面是一些常用的数组函数及其功能:(1) SUM函数:对指定的数值范围进行求和。
(2) AVERAGE函数:对指定的数值范围进行求平均值。
(3) MAX函数:对指定的数值范围求最大值。
(4) MIN函数:对指定的数值范围求最小值。
(5) IF函数:根据指定条件进行判断,并返回相应结果。
三、数组公式的高级应用1. 多条件汇总使用数组公式可以轻松实现多条件下的数据汇总。
比如,你可以使用SUMIFS函数来对满足多个条件的数值进行求和,并将结果返回给一个单元格。
2. 动态数组数组公式还可以用于创建动态数组。
通过在公式中使用函数如OFFSET、INDEX、MATCH等,你可以根据需要自动调整数据范围,实现动态查询和分析。
Excel高级技巧使用数组公式实现多条件计算

Excel高级技巧使用数组公式实现多条件计算在日常工作中,Excel是不可或缺的办公软件之一。
除了常规的数据录入、排序、筛选等功能外,Excel还具备强大的计算能力,特别是通过数组公式的应用,可以实现复杂的多条件计算。
本文将介绍一些Excel高级技巧,向您展示如何使用数组公式来实现多条件计算,以提升工作效率。
1. 什么是数组公式?数组公式是Excel中一种特殊的公式,它可以处理一组或多组数据,并返回一个单一的计算结果。
在一般的单元格公式中,我们只能处理单一的数值或单元格,而数组公式则可以同时处理多个数值或多个单元格,极大地拓展了计算的范围和灵活性。
2. 数组公式的基本语法使用数组公式,我们需要按下键盘组合键“Ctrl+Shift+Enter”来输入,而不是仅仅按下“Enter”键。
这样,Excel会将公式自动加上大括号,以示区别。
例如,我们需要计算某列数据的总和,可以输入以下公式(假设数据为A1到A5):{=SUM(A1:A5)}请注意,在输入公式后,不要直接按下“Enter”键,而是按下“Ctrl+Shift+Enter”键。
3. 使用数组公式实现多条件计算考虑以下案例:我们需要计算一个商品的销售额,但是我们只想统计某个区域内某个时间段内的数据。
假设我们有一个数据表格,包含“商品名称”、“销售额”、“所在区域”和“销售时间”等列。
我们可以使用数组公式来实现多条件计算。
首先,在一个空白单元格中键入以下公式(假设数据表格从A1到D10):{=SUM(IF(B2:B10>1000,IF(C2:C10="东区",IF(D2:D10>=DATE(2022,1,1),A2:A10,0),0),0))}此公式的含义是:查找销售额大于1000的东区数据,并在销售时间大于等于2022年1月1日时求和。
再次强调,输入完公式后,按下“Ctrl+Shift+Enter”键。
Excel将根据条件筛选数据,并返回符合条件的销售额总和。
使用数组公式提升数据处理效率的Excel高级技巧

使用数组公式提升数据处理效率的Excel高级技巧Excel是一款功能强大的电子表格软件,广泛用于数据处理、数据分析和报表生成等领域。
在Excel中,使用数组公式是提升数据处理效率的一项高级技巧。
本文将介绍什么是数组公式以及如何有效地使用数组公式来提升Excel的数据处理效率。
一、什么是数组公式在Excel中,数组公式是一种特殊的公式,可以同时处理多个数据,并返回一个或多个结果。
与普通公式不同,数组公式可以在多个单元格中同时计算。
使用数组公式可以大大简化数据处理的流程,减少公式的数量,提高计算速度。
同时,数组公式还可以处理复杂的数据关系,进行多条件的计算和筛选,实现更加灵活的数据处理。
二、数组公式的基本语法在Excel中,数组公式的基本语法包括函数和范围。
数组公式的函数可以是Excel内置函数,也可以是自定义函数。
范围可以是单个单元格,也可以是多个单元格组成的区域。
例如,以下是一个简单的数组公式示例:```{=SUM(A1:A10*B1:B10)}```以上公式实现了A1:A10范围与B1:B10范围对应单元格相乘,并对结果求和。
三、数组公式的常见用途数组公式在Excel中有着广泛的应用,以下是几个常见的用例:1. 计算多个范围的合并值:数组公式可以方便地处理多个范围的合并值。
例如,以下公式可以计算A1:A10范围与B1:B10范围的总和:```{=SUM(A1:A10,B1:B10)}```2. 多条件计算和筛选:数组公式可以处理复杂的数据关系,进行多条件的计算和筛选。
例如,以下公式可以计算A1:A10范围中大于10并且小于20的值的总和:```{=SUM(IF(A1:A10>10,IF(A1:A10<20,A1:A10)))}```3. 数据拟合和预测:数组公式可以通过拟合函数来对一组数据进行预测。
例如,以下公式可以根据A1:A10范围内的数据拟合出一个二次函数,并预测出B1:B10范围的值:```{=TREND(B1:B10,A1:A10^2,A1:A10)}```四、如何使用数组公式使用数组公式需要注意以下几点:1. 输入数组公式时,不需要按下回车键,而是要用组合键"Ctrl+Shift+Enter"来确认公式。
提高数据处理速度的Excel技巧使用数组公式

提高数据处理速度的Excel技巧使用数组公式Excel是一款功能强大的电子表格软件,广泛应用于数据处理和分析。
在处理大量数据时,提高处理速度是非常重要的。
本文将介绍一些提高数据处理速度的Excel技巧,包括使用数组公式、使用数据透视表、使用筛选和排序功能等。
一、使用数组公式数组公式是Excel中的一种特殊公式,可以一次性处理多个单元格的数据。
相比于常规公式,数组公式具有更高的处理效率。
下面是一些常用的数组公式技巧:1.1 求和在处理大量数据时,常常需要对一列或多列数据进行求和。
通常我们会使用SUM函数,但是SUM函数只能处理一个区域的数据。
如果想要一次性求和多个区域的数据,可以使用数组公式。
例如,假设我们需要求A1:A10和B1:B10这两列数据的总和。
我们可以在一个空白单元格中输入以下公式:{=SUM(A1:A10 + B1:B10)}在输入完公式后,不要按回车,而是同时按下Ctrl+Shift+Enter键。
Excel会自动将公式外面加上一对花括号,表示这是一个数组公式。
1.2 平均值同样的,在求平均值时也可以使用数组公式。
例如,我们需要求A1:A10和B1:B10这两列数据的平均值,可以使用以下公式:{=AVERAGE(A1:A10 + B1:B10)}同样需要按下Ctrl+Shift+Enter键,得到结果。
1.3 最大值和最小值求最大值和最小值也可以使用数组公式。
例如,我们需要求A1:A10和B1:B10这两列数据的最大值和最小值,可以使用以下公式:最大值:{=MAX(A1:A10 + B1:B10)}最小值:{=MIN(A1:A10 + B1:B10)}同样需要按下Ctrl+Shift+Enter键,得到结果。
二、使用数据透视表数据透视表是Excel中用于数据分析和整理的强大工具。
它可以快速对大量数据进行汇总和统计,并且具有较高的处理速度。
2.1 创建数据透视表要创建一个数据透视表,首先需要确保源数据是按照一定的格式组织的。
Excel中数组公式妙用的操作技巧

Excel中数组公式妙用的操作技巧
在excel中,我要进行计算常用的是先设置第一行的公式,然后在采取下拉的方式来完成,如果同时要对一组或几组,计算结果可能是一个,也可能是多个,这就需要用数组公式。
今天,店铺就教大家在Excel中数组公式妙用的操作技巧。
Excel中数组公式妙用的操作步骤:
例一:计算两个区域的乘积
1、如图,这是某公司1月份材料销售明细表,我们看到有单价和数量,现在需要对销售额进行计算。
2、首先我们选中E5到E10,如下图1鼠标不要动,输入等号,如下图2,再选中B5到B10 ,如图3,输入“*”,再选中C5到C10,如图3.
3、最后一步最关键,不要直接按回车键,按Ctrl+Shift+Enter。
计算就完成,如下图。
计算多列数据之和
1、如图是某单位公务员考试成绩统计表,现在要计算总成绩,表中注明总成绩=笔试成绩的70%+面试成绩的30%。
2、按照上面的方法,先选中E6:E10,输入“=”,再输入前括号,选中B6:B10,“+”,选中C6:C10,输入*0.7,"+",选中D6:D10。
3、最后一步,按Ctrl+Shift+Enter,计算就完成。
Excel中数组公式妙用的操作。
EXCEL中的数组公式提升数据处理能力

EXCEL中的数组公式提升数据处理能力在日常工作中,我们经常需要处理各种数据,而EXCEL作为一款强大的数据处理工具,其中的数组公式可以帮助我们更高效地进行数据处理和分析,提升工作效率。
让我们一起来探索EXCEL中的数组公式,如何利用它们提升数据处理能力。
什么是数组公式数组公式是EXCEL中一种特殊的公式类型,能够处理多个数值,返回多个结果。
通过数组公式,我们可以在一个公式中同时处理多个数值,实现批量计算和复杂逻辑运算,极大地简化数据处理过程。
如何使用数组公式在EXCEL中,使用数组公式需要按下Ctrl+Shift+Enter组合键来确认,而不是单独按Enter键。
数组公式通常以大括号{}包围,用于区分普通公式。
通过合理运用数组公式,我们可以在同一单元格内处理多个数据,实现数据的批量计算和逻辑运算。
数组公式的应用场景数据清洗与筛选:通过数组公式,我们可以快速清洗数据、筛选符合条件的数据,提高数据处理效率。
数据分析与汇总:利用数组公式,可以轻松对大量数据进行分析和汇总,生成报表和图表,帮助我们更直观地理解数据。
复杂计算与逻辑运算:数组公式适用于处理复杂的计算和逻辑运算,如多条件筛选、矩阵运算等,帮助我们解决数据处理中的各种问题。
实例演示假设我们需要对一列数据进行加权平均,传统方法需要多次复制粘贴公式,而利用数组公式可以轻松实现:{=SUM(A1:A5*B1:B5)/SUM(B1:B5)}通过这个简单的数组公式,我们可以快速计算出加权平均值,节省了大量重复操作的时间,提升了数据处理的效率。
EXCEL中的数组公式是一种强大的数据处理工具,能够帮助我们更高效地处理数据、提升工作效率。
合理运用数组公式,可以让数据处理变得更加简单和快捷,为我们的工作带来便利和效益。
直接陈述掌握和灵活运用EXCEL中的数组公式,可以显著提升数据处理能力,提高工作效率。
Excel高级技巧使用数组公式实现复杂数据计算

Excel高级技巧使用数组公式实现复杂数据计算作为一款功能强大的电子表格软件,Excel在日常工作中扮演着重要的角色。
除了基本的数据处理和计算功能外,Excel还提供了许多高级技巧,可以帮助用户更高效地处理复杂的数据计算问题。
其中,使用数组公式是一种非常强大的工具,可以实现诸如多条件查询、数据整合、排序等复杂的数据计算操作。
本文将介绍一些常用的Excel高级技巧,以及如何使用数组公式实现这些复杂数据计算。
一、多条件查询与筛选在Excel中,我们经常需要根据多个条件来查询和筛选数据。
通常情况下,我们会使用“筛选”功能来完成这个任务,但对于一些比较复杂的查询需求,筛选功能可能不够灵活。
这时,可以借助数组公式来实现多条件查询。
具体操作如下:1. 准备需要查询的数据,并确保每一列都有明确的标题。
2. 在需要放置查询结果的单元格中,输入以下数组公式:{=INDEX(查询范围,(条件1)*(条件2)*(条件3),输出列数)}其中,查询范围为需要查询的数据区域,条件1、条件2、条件3为不同的查询条件,输出列数为需要输出的列数。
3. 按下键盘上的Ctrl + Shift + Enter组合键,以确认数组公式的输入。
此时,Excel会自动在公式两侧添加大括号。
通过这种方式,我们可以实现多条件查询,并将查询结果呈现在指定的单元格中。
这种方法比传统的筛选功能更加灵活,可以满足各种复杂的查询需求。
二、数据整合与汇总在处理大量数据时,我们常常需要将多个数据源整合在一起,并进行汇总分析。
Excel的数组公式可以帮助我们快速实现这个任务。
下面是一个简单的示例:1. 打开一个新的工作表,并在单元格A1:C4中输入如下数据:| A | B | C |--|----|----|----|1 | 姓名 | 年龄 | 性别 |2 | 张三 | 20 | 男 |3 | 李四 | 22 | 女 |4 | 王五 | 25 | 男 |2. 在单元格A6:C8中输入如下汇总表格:| A | B | C |--|----|----|----|6 | 性别 | 平均年龄 | 性别人数 |7 | 男 | | |8 | 女 | | |3. 在单元格B7中输入以下数组公式,并按下键盘上的Ctrl + Shift + Enter组合键:{=AVERAGE(IF($C$2:$C$4=A7,$B$2:$B$4))}4. 在单元格C7中输入以下数组公式,并按下键盘上的Ctrl + Shift + Enter组合键:{=SUM(IF($C$2:$C$4=A7,1))}通过以上操作,我们可以在汇总表格中使用数组公式快速计算出不同性别的平均年龄和人数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组公式从入门到精通入门篇本主题包含三部分:入门篇、提高篇、应用篇(分中级和高级)对于刚接触Excel数组公式的人来说,总是会感觉到它的一份神秘。
又Excel的Online Help中只有很少关于它的主题,所以这种神秘感就更强了。
不要紧,只要跟着我的思路走,你很快就会看清数组公式的真面目!数组概念对于数组概念,大家都会很熟悉,其就是一个具有维度的集合。
比如:一维数组、二维数组、多维数组。
数组的表示一般为“{}”所包括(一维和二维数组)。
Excel中也不例外,如果你想直接表示一个数组,也必须用“{}”括起来。
数组与数组公式在Excel中,凡是以半角符号“=”开始的单元格内容都被Excel认为是公式,其只能返回一个结果。
而数组公式可以返回一个或者是多个结果,而返回的结果又可以是一维或二维的,换句话说,Excel中的数组公式返回的是一个一维或二维的数组集合。
在Excel中需要按下“Ctrl+Shift+Enter”组合键结束数组公式的输入。
为什么要用数组公式?如果你的需要满足以下条件之一,那么采用数组公式技术可能会是你很好的选择方案。
你的运算结果会返回一个集合吗?你是否希望用户不会有意或无意的破坏某一相关公式集合的完整性?你的运算中是否存在着一些只有通过复杂的中间运算过程才会等到结果的运算?看到这些另人费解的问题,你可能会摸不着头绪。
不要紧,看了以下内容你也许就会明白了。
什么情况下会返回一个集合?看一个简单的例子,选中C1:E3,输入“={"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,按“Ctrl+Enter”组合键。
图1-1 (ArrayFormula_A01.bmp)结果在C1:E3中看到的结果全是“Name”,而实际真正返回的结果应该是一个包含三行三列的二维数组,如何办?答案就是用数组公式。
选中C1:E3,输入“={"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,按“Ctrl+Shift+Enter”组合键。
图1-2 (ArrayFormula_A02.bmp)可能你又会问,这有何用?为何不在单元格中直接输入内容,反而要这么麻烦?这仅仅是一个例子,说明的是如何通过数组公式返回一个结果集。
给你个问题,如果存在这样一个工作表:包含字段{"ID", "Name", "Sex", "Age"},如何将“Sex”为“Female”的记录抽取出来(为了打印报表,抽取的记录需要连续存放) ?这个问题将在“应用篇”里进行解答。
什么情况下会用到相关公式完整性?什么是相关公式完整性?这仅仅是我给出的一个定义,请再回到“图1-2”,请选择C1:E3中任意一单元格,然后做随意的修改(哪怕和原先的公式一样),按“Enter”键结束输入。
结果如何?修改未成功!提示“不能更改数组的某一部分”。
图1-3 (ArrayFormula_A03.bmp)为什么会是这样呢?因为你正企图破坏相关公式的完整性。
由于C1:E3中公式的数据源均为“{"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,而C1:E3共用的一个公式(这与每个单元格都有相同的公式是有区别的,因为这仅仅是C1:E3拥有9个相同的公式,而不是一个!),因此,当你要单独更改其中一个单元格时,系统会认为你正在更改部分单元格的数据源,如此会导致数据源不一致的现象,从而导致与其它相关单元格脱离关系,这样数组公式就失去作用,所以系统不又允许你更改数组公式的部分内容。
这样的好处是可以维护数据的完整性,做到与数据源总是有一致的对应关系。
你的公式复杂吗?如果有如下数据,在D6单元格中求出对所购物品需要付多少费用。
你会如何做?在D6中输入“=(C2*D2+C3*D3+C4*D4)”?结果正确,如果中间某个单元格地址输入错误你的结果会正确吗?如果记录不只3条,而是成千上万条,你是否会感觉到力不从心(如果不考虑单元格内字符数的限制)?如果用“图1-5”中的方法,你的感觉又会如何?(在D6中输入“=SUM(C2:C4*D2:D4)”,按“Ctrl+Shift+Enter”键结束输入。
其中涉及到的技巧会在“提高篇”中讨论。
)图1-4 (ArrayFormula_A04.bmp)图1-5 (ArrayFormula_A05.bmp)怎么样?是否了解了数组公式?是否学会了如何使用数组公式?是否感觉到了它的一点点威力?请继续关注“数组公式从入门到精通”之“提高篇”,让我们继续深入数组公式!数组公式从入门到精通提高篇本主题包含三部分:入门篇、提高篇、应用篇(分中级和高级)相信你在“入门篇”中已经学会了如何建立数组公式,同时也大致了解在什么情况下适合使用数组公式解决问题。
需要说明的是,在“入门篇”中提到的使用数组公式的三种情况并不是绝对的,要视具体情况而定。
在接下来的讨论中,你将会了解数组公式的一些工作原理。
在进行正式讨论之前,先跟着我做一些准备工作。
Excel的主要功能就是数据的分析和处理,我们现在只关心的是数据处理中的数据抽取。
所谓数据抽取就是对源数据按照一定的条件筛选后所得到的结果。
如何定制条件筛选呢?方法很多,这里介绍“IF()”函数和模拟AND、OR的原理和用法。
模拟AND、OR让我们先来看看为什么要模拟AND、OR,而不用Excel的工作表函数AND()、OR()?建立如下图的工作表,分别在D11、D12中输入“=SUM(IF(AND(C2:C7=D9,D2:D7=D10),E2:E7))”、“=SUM(IF((C2:C7=D9)*(D2:D7=D10),E2:E7))”,并分别按“Ctrl+Shift+Enter”结束公式输入。
图2-1 (ArrayFormula_B01.bmp)之所以创建以上公式,是因为我想对满足“Product ID”为D9,“City”为D10的记录进行汇总,很明显,从上面的返回结果表明D11中的结果是正确的,而D10中的结果是错误的。
为什么会是这样呢?在接下来的演示中通过讲述AND()和OR()函数的工作原理来解释为什么D10中的公式返回了错误的结果,以及演示为什么D11中的公式可以神奇般的得到结果。
选中在上面工作表的G2:G7,输入“=OR(C2:C7=D9,D2:D7=D10)”,按“Ctrl+Shift+Enter”;选中H2:H7,输入“=AND(C2:C7=D9,D2:D7=D10)”,按“Ctrl+Shift+Enter”。
图2-2 (ArrayFormula_B02.bmp)图2-3 (ArrayFormula_B03.bmp)怎么G2:G7都是TRUE;而H2:H7都是FALSE?实际我们想要的是“图2-3”中的结果。
为了节省篇幅,我直接把答案告诉你,G2:G7中的公式相当于“=OR(C2=D9,C3=D9,C4=D9,C5=D9,C6=D9,C7=D9,D2=D10,D3=D10,D4=D10,D5=D10,D6=D10,D7=D10”,这回知道原因了吧?“=OR(C2:C7=D9,D2:D7=D10)”返回的结果只有一个,而不是七个!同理,AND()函数类似。
不信,你可以更改数据表中的一些数据来进行验证。
现在你该知道D10返回错误值的原因了吧?那为什么D11能够返回正确的结果?这正是我们要解决AND()和OR()函数在数组公式中存在问题的出发点。
先看看下面这个说法:“*”相当于AND,“+”相当于OR。
这是一些论坛中常见的回答,我到如今为止也这样解答了不少朋友的疑问。
结论正确么?难道Excel 中的“*”和“+”有两层含义?――严格的说,这是不正确的!因此,我已经误导了很多朋友,如果你曾经在某论坛中得到过我这样的解答,我在这里说声抱歉!为什么“*”和“+”可以模拟AND和OR呢?就像“图2-1”中D12的公式“=SUM(IF((C2:C7=D9)*(D2:D7=D10),E2:E7))”。
要了解其原理,就要揭开FALSE和TRUE的面纱。
在一新工作表的C2中输入“=TRUE+0”,按回车键;在D2中输入“=FALSE+0”,按回车键。
图2-4 (ArrayFormula_B04.bmp)“图2-4”中的结果说明:将TRUE和FALSE转换为整型后的值分别为1和0。
建立如下图中的工作表,选中D2:E3,输入“=D$1*$C2”,按“Ctrl+Enter”;同样选中D6:E7,输入“=D$5+$C6”,按“Ctrl+Enter”。
图2-5 (ArrayFormula_B05.bmp)从上图中很容易看出,对于“乘”操作,只有TRUE*TRUE才会返回1(TRUE),因此“*”模拟了AND的效果;对于“加”操作,只有FALSE+FALSE才会返回0(FALSE),因此“+”模拟了OR的效果。
技术说明:1)Excel中的IF()工作表函数对条件真假的判断是这样,当条件的值为0时,认为是假;否则,全部认为是真。
条件的数据类型一定是数值。
比如“=IF(-3,1,0)”返回1。
因此“+”的操作做到了模拟OR的效果。
理解IF()IF()还用理解?Excel Online Help中不是已经表达的很清楚了吗?也许你会这样问。
我并非是想文字充数,请看下图:图2-6 (ArrayFormula_B06.bmp)C5中的公式为“=IF(C2:C3="Mary",ROW(D2:D3))”(为数组公式),你知道它的值为什么是FALSE而不是三么?聪明的你可能已经想到这种类型的数组公式返回的是一个结果集,这个结果集的大小与操作对象的大小是一致的,在这里操作对象为C2:C3和D2:D3,因此返回值为两个元素。
就是这样,由于C2=”John”,不满足条件,因此应该返回IF()函数的第三个参数值,但这里无第三个参数,所以系统返回FALSE;由于C3=”Mary”,满足条件,因此返回第二个参数值,即ROW(D2:D3),而C3对应的是D3,所以返回值应该为3。