如何用EXCEL的VBA来实现根据条件筛选结果

比如我要实现以下目的:给出数据教师教室号课程张三001XX李四002XXX只需在教师和教师号中选择张三(教室)和001(教室号)就可以知道XX(课程)感谢一楼回答,我知道... 比如我要实现以下目的:给出数据
教师 教室号 课程
张三 001 XX
李四 002 XXX
只需在教师和教师号中选择张三(教室)和001(教室号)就可以知道XX(课程)
感谢一楼回答,我知道可以使用筛选,我想的是做一个函数,输入教师和教师号就可以知道课程。。
展开
 我来答
陆不大
2011-02-21 · TA获得超过311个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:387万
展开全部
这个问题我也没做过,临时找了两个函数,结合起来能解决,也许不是最好的办法,但能解决总是好的,呵呵

做出的样表如下
A B C D
1 姓名 班级 班级 班级
2 1222 2323 3434
3 姓名 班级 数学成绩 语文成绩
4 张三 1222 78 85
5 李四 2323 79 83
6 王五 1222 80 81
7 赵六 2323 81 79
8 陈七 1222 82 81
9 杨八 3434 83 82
10
11 数学总成绩 语文总成绩 人数
12 1222 240 247 3
13 2323 160 162 2
14 3434 83 82 1

b2单元格 ="1222"
c2单元格 ="2323"
d2单元格 ="3434"

b12单元格 =DSUM($B$3:$D$9,"数学成绩",A$1:B$2)
c12单元格 =DSUM($B$3:$D$9,"语文成绩",B$1:B$2)
d12单元格 =COUNTIF($B$4:$B$9,1222) 用于统计表中1222班人数,本来可以直接用你们掌握的班级人数来除,但用这个函数可以防止无成绩的人加入统计

b13单元格 =DSUM($B$3:$D$9,"数学成绩",C$1:C$2)
c13单元格 =DSUM($B$3:$D$9,"语文成绩",C$1:C$2)
d13单元格 =COUNTIF($B$4:$B$9,2323)

3434班按此类推

如果直接在B13单元格里计算1222班数学单科平均成绩,把两个单元格做除法就行,公式为:
=DSUM($B$3:$D$9,"数学成绩",A$1:B$2)/COUNTIF($B$4:$B$9,1222)

用函数做好母表,下次考试后需要统计时直接把成绩复制进相应的数据区,结果自己就出来了

用aimpointer 的方法也可以
直接筛选班级名称,然后选中筛选结果的"数学成绩"或"语文成绩"列,直接求和,但有两个问题,第一是班级多了操作过多,第二是下次统计仍要这些操作.
botoboto
2011-02-20 · TA获得超过943个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:187万
展开全部
不用VBA吧..可以试试使用vlookup函数
教师 教室号 课程
张三 001 XX
李四 002 XXX
这些数据放在下方..
在A1:输入张三...在B1输入001....在C1输入函数...
=LOOKUP(1,0/(A3:A100&B3:B100=A1&B1),C3:C100)
完成任务..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
太极健1969
2011-02-20 · TA获得超过9033个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3613万
展开全部
是函数还是VBA呀?
留个邮箱,我做个样本给你,你也可以直接用这个文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac1694c
2011-02-20 · 超过28用户采纳过TA的回答
知道答主
回答量:101
采纳率:100%
帮助的人:35.1万
展开全部
不知道你的应用是不是这么简单,如果是,不需要用VBA的,只要选中标题行,点击数据里的筛选就可以了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式