地 球 不 爆 炸 我 们 不 打 烊
>>>上课啦: MMULT函数可以遍历一个多行多列的数据矩阵,聚合为单行或者单列的数据结构。因为该函数运算会涉及到高等数学《线性代数》中的矩阵知识,所以该函数很难被“驾驭”!但是,这一切随着BYROW函数和BYCOL函数的到来而改变~~ ▼ 言之有李: ☆☆ 什么是“遍历”??? ☆☆ 遍历是指按照一定的规则和顺序访问一个数据结构中的所有元素。 ☆☆ 什么是“聚合”??? ☆☆ 聚合是指对有关数据进行内容挑选、分析和归类,最后得到想要的结果。 ☆☆ BYROW函数的定义??? ☆☆ BYROW函数:逐行遍历实现聚合,即按行扫描整个数组,并对每行执行LAMBDA函数的自定义公式计算,返回每行的计算结果。该结果跟原数组行数相同,但是只有一列,例如:原数组是7行6列,则返回数组是7行1列。如下图所示 ▼BYROW函数结果 ☆☆ BYCOL函数的定义??? ☆☆ BYCOL函数:逐列遍历实现聚合,即按列扫描整个数组,并对每列执行LAMBDA函数的自定义公式计算,返回每列的计算结果。该结果跟原数组列数相同,但是只有一行,例如:原数组是7行6列,则返回数组是1行6列。如下图所示 ▼BYCOL函数结果 ☆☆ BYROW函数的语法??? ☆☆ =BYROW(Array,LAMBDA(Row)) 第1参数Array表示行分隔的数组。如果该参数是引用单元格区域,则会保留引用单元格区域属性 第2参数LAMBDA(Row)表示将数组中的行作为单个参数并计算的LAMBDA自定义函数 ☆☆ BYCOL函数的语法??? ☆☆ =BYCOL(Array,LAMBDA(Column)) 第1参数Array表示列分隔的数组。如果该参数是引用单元格区域,则会保留引用单元格区域属性 第2参数LAMBDA(Column)表示将数组中的列作为单个参数并计算的LAMBDA自定义函数 ☆☆ BYROW函数和BYCOL函数的出错??? ☆☆ 当提供无效的LAMBDA函数时,则返回#VALUE!错误值 ☆☆ 当不提供有效的LAMBDA函数,则返回#CALC!错误值 ☆☆ BYROW函数和BYCOL函数的注意??? ☆☆ BYROW函数对每一行处理后的结果和BYCOL函数对每一列处理后的结果一定是一个单值 【例题1】获取每位学生的最高分和每科课程的最高分 ▼ 小试牛刀: ※※获取每位学生的最高分,在i2单元格编辑函数公式=BYROW(B2:G11,LAMBDA(x,MAX(x))),ENTER回车 ЖЖ将第1行数据传递到 x 中,用MAX函数对它求最大值,返回84;将第2行数据传递到 x 中,用MAX函数对它求最大值,返回86;……,一直重复循环这个过程 ※※获取每科课程的最高分,在b13单元格编辑函数公式=BYCOL(B2:G11,LAMBDA(x,MAX(x))),ENTER回车 ЖЖ将第1列数据传递到 x 中,用MAX函数对它求最大值,返回83;将第2列数据传递到 x 中,用MAX函数对它求最大值,返回86;……,一直重复循环这个过程 娓娓道来: 在新函数出现之前,通常借助OFFSET函数的多维引用和SUBTOTAL函数的降维功能实现 ※※获取每位学生的最高分,在i2单元格编辑函数公式=SUBTOTAL(4,OFFSET(B1:G1,ROW($1:$10),)),ENTER回车 ※※获取每科课程的最高分,在b13单元格编辑函数公式=SUBTOTAL(4,OFFSET(A2:A11,,COLUMN($A:$F))),ENTER回车 【例题2】获取每位学生超过80分的明细数据 ▼ 小试牛刀: ※※如果将明细数据结果分开放置,则在i2单元格编辑函数公式
※※如果将明细数据结果合并放置,则在k2单元格编辑函数公式
【例题3】根据右侧的数据查询左侧银行网点的地点 ▼ 小试牛刀: ※※在B2单元格编辑函数公式
娓娓道来: ※※在新函数出现之前,可以借助MATCH函数的通配符知识点,在B2单元格编辑函数公式
※※在新函数出现之前,也可以借助LOOKUP函数的二分法知识点,在B2单元格编辑函数公式
下课啦>>>: 例题2和例题3中关于BYROW函数公式解析参照例题1中BYROW函数公式解析,三者都是“殊途同归”,不再赘述~~ |
|
来自: bookstore520 > 《Excel全家福》