案例18计算各组别第三名产量是多少(MMULT)

☉ 源文件:CDROM\02\2.6\案例18.xls

打开光盘中的数据文件,在单元格I2中输入如下公式:

=LARGE(MMULT(B2:G6,ROW(1:6)^0),3)

按下【Enter】键后,将返回五个组中第三名产量,结果如图2-28所示。

图2-28 各组别上半年第三名产量

公式说明

本公式首先用MMLUT函数将每个组别的1月~6月的产量相加,得到一个1列5行的数组,再通过LARGE函数取出第三名产量。

案例提示

1.对于本案例或者更大的区域,当需要分别进行每行求和再对结果进一步运算的时候,MMULT函数有很大的优势。在本例中如果直接用LARGE函数取第三大值,将会取出整个区域的第三大值,而非每行数据相加后的数组中的第三大值。而且在本例中,也不可以使用SUM函数来对区域求和,用MMLUT函数是最好的选择。

2.在本例中,通过图2-29将更容易理解MMULT函数的运算机制。

图2-29 每行求和

在图2-29的公式中,MMULT函数可以将区域B2:G6求和,但到包含五个元素的数组时,如果使用SUM函数求和就只能产生一个数值结果,这是对区域运算时的差异。

案例参考函数

MDETERM数学和三角函数,见第2章2.14节。

MINVERSE数学和三角函数,见第2章2.15节。

TRANSPOSE 查找和引用函数,返回转置单元格区域。

格式 TRANSPOSE(array)

参数 array为需要进行转置的数组或工作表中的单元格区域。数组的转置就是将数组的第1行作为新数组的第1列,数组的第2行作为新数组的第2列,以此类推。

应用举例

Excel数据位置:CDROM\02\2.6\扩展1.xls

根据格式、参数,输入几组数据试一下,如图2-32所示。

图2-32 TRANSPOSE函数的几种用法

注意点说明

在使用TRANSPOSE函数时,必须提前选择转置的单元格区域大小,保证新表格的列数等于源表格的行数,新表格的行数等于源表格的列数。