您的当前位置:首页正文

数组公式学习手记

2022-07-23 来源:星星旅游
数组公式

一、数组的一般理解和基本符号(参阅“数组公式中的常量”)

★ 数组可用“单元区域”概念理解,一个数组相当于一个单元区域,引用单元区域相当于引用数组★ 数组中的基本符号包括“{ }” 数组的定界符; “,” 同一行的相邻单元格间隔 “;” 相邻行单元格的间隔

例1:对于数组{1,2,3;4,5,6;7,8,9}可以理解成下面B9:D11的单元区域BCD91231045611789例2:理解第一个数组公式 =VLOOKUP(\"B\公式结果66理解时,应将 {\"A\BC16A6517B6618C67则,数组公式相当于 =VLOOKUP(\"B\二、数组的输入(参阅“数组公式中的常量、数组公式及其输入”)

★ 输入数组,应用以等号开始公式形式输入,即应输成 ={……},而不是{……},因此称“数组公式”★ 数组公式输入完毕后,应用 CTRL+SHIFT+ENTER 组合键确认生成公式。1、计算结果为单个数值(结果置于一个单元格内)

操作步骤:选中一个单元格→输入数组公式→CTRL+SHIFT+ENTER例3:求数组的中值 =MEDIAN({1,2,3;4,5,6;7,8,9})BCD中值30123531456327892、计算结果为多个数值(结果置于一个与引用的数组行、列数相等的单元区域内) 操作步骤:选中一个单元区域→输入数组公式→CTRL+SHIFT+ENTER例4:在B39:D41中输入数组 {1,2,3;4,5,6;7,8,9}BCD391234045641789★ 说明:使用这种操作,可以查看到数组中的各个元素值。三、数组的运算(论坛贴子学习体会+“数组公式及其输入”)★ 两个或多个数组运算,对应元素分别进行运算,计算的结果仍为数组

4748B13C24加5253B618C122452534748减F412G816F515G10205758B13C24乘5758除6263F515G10206263B545C2080F55G55★ 如果是单值与数组进行运算,则单值与数组中的每个元素分别进行运算,生成新数组BCF67681324>= 27374DFALSETRUEETRUETRUE★ 函数参数中引用到数组,称“数组公式”,运算法则基本同上述两点

★ 数组公式对两组或多组数组参数进行运算时,每个数组参数必须有相同的行数和列数。

例5:求欧洲的平均销售额 {=AVERAGE(IF(B83:B90=\"欧洲\BCD81销售额IF数组函运算结果5545.4482电子设备数的结果83欧洲8707.088707.08第一步:B83:B90=\"欧洲\" 计算得到数组 {T;F;F;T;F;F;T;F}84北美4436.72FALSE第二步:数组 {T;F;F;T;F;F;T;F} 与 数组C83:CI85声乐器FALSE得到结果如D83:D90的数组(单元区域)86欧洲5196.345196.34第三步:原函数演变成=AVERAGE({8707.08;F;F;……})87北美5426.19FALSE相当于对如D83:D90的单元区域求平均值=AVERA88电子设备FALSE89欧洲2732.892732.8990北美1859.78FALSE注意:AVERAG、SUM等函数中,如果参数是数组或单元格引用,则参数中的文字、逻辑值或空单元格(即不参加平均、求和等计算)。但参数如果为常量,则逻辑值会按(TRUE=1,FALSE=0)的规则参请区别:Caveragesum95FALSE常量参数2596TRUE数组参数44引用参数44例6:用数组公式判断是否为“黄色 毛巾”(品种与颜色两个条件同时满足)

初步设想,用AND函数实现{=AND(B103:B105=\"毛巾\BCFG102品种颜色102AND函数逻辑值运算103毛巾黄103FALSE1104手巾黄104FALSE0105毛巾白105FALSE0可以看到AND函数没有实现设想的要求(同时判断品种、颜色),直接的逻辑值运算可以实现分析一下计算的过程:1)AND数组函数

第一步B103:B105=\"毛巾\" 计算得 {True;False;True}

C103:C105=\"黄\" 计算得 {True;True;False}

第二步上步计算出的两数组进行 AND运算,得 {T;F;F},公式演化成 AND({T;F;F})第三步由于AND函数可对数组(理解成单元区域内多单元格)进行计算,得到单一值,

所以继续运算得False2)用逻辑值运算的实现过程 {=(B103:B105=\"毛巾\")*(C103:C105=\"黄\")}

第一步B103:B105=\"毛巾\" 计算得 {True;False;True}

C103:C105=\"黄\" 计算得 {True;True;False}

第二步上步计算出的两数组进行“乘”运算(计算时,逻辑值被处理成数值 True=1;False=0),

得到{1,0,0}

区域相当于引用数组

,因此称“数组公式”

数和列数。

到数组 {T;F;F;T;F;F;T;F}

C83:C0 进行“IF运算”元区域)

({8707.08;F;F;……})

元区域求平均值=AVERAGE(D83:D90)

的文字、逻辑值或空单元格被忽略1,FALSE=0)的规则参与平均。

可以实现

ND({T;F;F})

值,

1;False=0),

因篇幅问题不能全部显示,请点此查看更多更全内容