以下是引用长雨在2006-9-28 0:14:12的发言:版主能解释一下MMULT的用法吗?谢谢 =MMULT(SUMIF(OFFSET($H$92,,{0,1},ROW($H$92:$H$97)-ROW($H$92)+1,),"<>")*{1,-1},{1;1}) 首先这个公式应该是在余额汇总中看到的吧?其目的是为了减小SUMIF函数的运算量特地编写的,否则就需要采用两个SUMIF函数对H列和I列的数据进行相减。 其中: 1、SUMIF分别通过OFFSET对于H92产生的动态区域进行数值求和,这已经属于三维引用范畴了,前面的OFFSET中简单介绍过。 2、SUMIF通过分别对H列和I列的6行引用区域分别求和,得到一个6行2列的内存数组,如:{10,5;20,10;40,20;50,25;60,40;80,60} 3、MMULT函数是一个数组(矩阵)运算的函数,可以参见帮助,这里使用它主要就是想将以上的内存数组进行各行横向求和。 4、由于前面说了,这是一个求H列减去I列的公式,那么只有将第2点求得的内存数组*{1,-1},再横向求和才能达到两者相减的目的。 MMULT函数在论坛上有很多用法,建议你先看看帮助,再结合实例来理解,有问题再提出来,OK? |