在excel中如何实现按条件自动筛选并计算单元格数值?

如图所示:如何实现在B、C列中筛选出工号所对应的数值,然后在E列中列出工号同时在F列中自动计算出对应工号的提成合计值? 麻烦要有函数用途及使用说明,授渔哈!!!
我需要的是自动在E列中列出工号,在F列中自动计算出该工号对应的合计值,例如3号的合计值是300,17号的合计值是500。请看懂问题的网友给予帮助,谢谢!!!

在标题行上方插入一行
工号上方单元格 =subtotal(1,b3:b65536) 平均值 可能有错误 1的数字可修改 ,参见函数帮助
提成金额 =subtotal(9,c3:c65536) 合计值
这样你筛选时 数字会自动统计追问

我只是需要在E列中自动填充工号,同时能不能详细说下公式括号里那些值所代表的意思?

追答

在E列 自动列出工号 是所有的吗? 这需要用到数组公式,比较麻烦
F列 公式 =sumif($b$2:$b$10000,$e2,$c$2)

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-10
F2公式:
=SUMPRODUCT(SUBTOTAL(9,OFFSET($C$1,ROW($2:$30)-1,))*(B$2:B$30=E2))
下拉填充追问

怎么解决在E列中自动列出工号呢?同时能不能详细讲解下sumproduct,subtotal,offset,row这几个个函数的功能,特别是sumproduct,subtotal这两个函数的组合是怎么让它在满足:B列中的单元格等于E2时使C列中对应单元格的数值自动相加的。麻烦尽量简单易懂,谢谢!!!

追答

有点麻烦.要用辅助列.

=SUMPRODUCT(SUBTOTAL(3,OFFSET(B$5,ROW(B$1:B1),))*(B$6:B6=B6))

 

=INDEX(B:B,LARGE(SUBTOTAL(3,OFFSET(B$1,ROW(B$6:B$10)-1,))*(D$6:D$10=1)*ROW(B$6:B$10),ROW(A1)))

按CTRL+SHIFT+ENTER结束公式录入.

 

 

=SUMPRODUCT(SUBTOTAL(9,OFFSET($C$5,ROW(B$6:B$10)-5,))*(B$6:B$10=E2))

 

sumproduct是对满足条件记录求和,条件就是B$6:B$10=E2, 并且是B6:B10显示出来的数据

本回答被提问者采纳