|
Eric_f765 发表于 2012-11-26 23:29
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
...
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*(Sheet2!$B$1:$AF$1=Summary!K$2),(Sheet2!$B$2:$AF$21))
结果你已经有了 就不在说 只解释 为啥那里里用 逗号
SUMPRODUCT(区域,区域) 他将忽略 里面的 文本 逻辑值 楼主最后 一个区域 逗号的后面 的 里面 有很多文本 “-”
如果 用* 号 。那么他 就把 前面一串的结果 先乘以 文本 横杠。 (四则运算)和文本乘 那是会出错的。。。
这里用,号 只不过是借用这个函数的特性 把 横杠 忽略成 0 而已。。如果你那些 -横杠单元格都是 空的 那么用 *号 也不会出错。。
下面的公式是错的
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4),(Sheet2!$B$2:$AF$21))
因为第一个参数 返回的结果 是逻辑值 。。。 那么在这里也被 忽略了 返回结果了 。如过改成 * 号 那么就对了
如果你想说 这不就他基本用法嘛 。。。
如果你非要这么用 那就要把前面的逻辑值转成数组 套个 N 函数啊 * 1 啊 +0 啊 都可以
=SUMPRODUCT((Sheet2!$A$2:$A$21=Summary!$G4)*1,(Sheet2!$B$2:$AF$21)) 这样就对了
既然直接* 就可以何必多写那么一个 逗号是吧 。
你自己本身的公式 因为是多条件 所以 是 逻辑值 * 逻辑值 返回的结果 是数值 所以是对的。。。
只说道这里了,,不知道你有没有明白。。。
|
评分
-
查看全部评分
|