level 13
没搞懂 SUMIFS或者SUMPRODUCT都可以啊 你是想不用表一C列的辅助列直接用公式算?
2014年08月13日 13点08分
3
C列是辅助列,我现在的做法就是用C列查出该编号的分数 然后再加。有没有办法能一步求出呢?
2014年08月13日 14点08分
=SUMIF(B:B,"一班",C:C) 这样不行么 不明白 为什么你说SUMIF不行呢?
2014年08月13日 14点08分
回复 NF6G :我意思是不要辅助列!
2014年08月13日 14点08分
level 13
不知道你的EXCEL版本是哪个 2007以后版本新加了一些函数 处理起来略有不同
2014年08月13日 16点08分
6
level 13
需要用到数组函数 以2007或以后的版本为例
=SUM(IFERROR((LOOKUP(IF(B:B="一班",A:A),Sheet2!A:A,Sheet2!B:B)),))
复制过去后不要直接按回车,而是要按CTRL+SHIFT+ENTER
2014年08月13日 16点08分
7
公式中的SHEET2!请改成SHEET3!
2014年08月13日 16点08分
level 13
如果是2003版本的话,上述的IFERROR函数是没有的 需要用IF函数与ISNA函数的组合
也就是=SUM(IF(ISNA(LOOKUP(IF(B:B="一班",A:A),Sheet2!A:A,Sheet2!B:B)),,LOOKUP(IF(B:B="一班",A:A),Sheet2!A:A,Sheet2!B:B)))
2014年08月13日 16点08分
8
公式中的SHEET2!请改成SHEET3!
2014年08月13日 16点08分
level 13
如果你电脑不太好的话 上述两公式可能会算起来比较慢 可以把其中的A:A改成诸如A2:A9999之类的 只是超过你的表格的行数就行
2007以上版本:
=SUM(IFERROR(LOOKUP(IF(B2:B9999="一班",A2:A9999),Sheet3!A2:A9999,Sheet3!B2:B9999),))
按CTRL+SHIFT+ENTER
2003版本:
=SUM(IF(ISNA(LOOKUP(IF(B2:B9999="一班",A2:A9999),Sheet3!A2:A9999,Sheet3!B2:B9999)),,LOOKUP(IF(B2:B9999="一班",A2:A9999),Sheet3!A2:A9999,Sheet3!B2:B9999)))按CTRL+SHIFT+ENTER
2014年08月13日 16点08分
9
你讲得很详细啊 谢谢你 我先试试 感谢啊
2014年08月13日 17点08分
吧务
level 14
=SUMPRODUCT(SUMIF(Sheet2!A2:A20,A2:A5,Sheet2!B2:B20))
2014年08月13日 23点08分
10
=SUMPRODUCT(SUMIF(Sheet2!A2:A99,A2:A99,Sheet2!B2:B99))
2014年08月13日 23点08分
level 13
看了楼上 昨天半夜的确想复杂了 可以有简单的算法 不用数组函数
=SUMPRODUCT(SUMIFS(Sheet3!B2:B9999,A2:A9999,Sheet3!A2:A9999,B2:B9999,"一班"))
2014年08月14日 00点08分
11
为什么这个函数公式计算出来的答案和上面2003那个不同的
![[狂汗]](/static/emoticons/u72c2u6c57.png)
?
2014年08月15日 02点08分
用这楼这个就行 上面的不用管 楼上那些需要按CTRL+SHIFT+ENTER才能得到正确结果,而且由于用到了lookup函数,还要求Sheet3中的编号必须按升序排列,否则可能会错
2014年08月16日 14点08分
回复 NF6G :我是用了ctrl+shift+enter和这楼的答案不同
2014年08月16日 15点08分