Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2164|回复: 9

[已解决]求一个总分统计的问题

[复制链接]
发表于 2010-12-8 09:46 | 显示全部楼层 |阅读模式
一张表格中有人名比如张三李四等。。。张三李四可能出现的分数在同列但不同的单元格内如(K5 ,K25,K33等),能否请高手帮忙统计比如张三这人的总分。。。要求是用INPUT输入人名,用MSGBOX显示这人的总分。谢谢。。感谢精英网站。。。期待中。。。
最佳答案
2010-12-8 11:01
QUOTE:
以下是引用wzwbzncjhb在2010-12-8 10:55:00的发言:
明白了。谢谢老师。再提一个问题,如果输入名字有空格,,该如何规范。。谢谢。。比如张三三,输成张   三三该如何使它自动变成张三三。

添加一句

n=Replace(n, " ", "")

发表于 2010-12-8 09:56 | 显示全部楼层

单条件求和直接sumif就好了,用得着vba吗?

假设姓名是在A列,成绩在B列

Sub test()
    n = InputBox("请输入姓名:")
    MsgBox n & "的总分是:" & Application.WorksheetFunction.SumIf(Columns(1), n, Columns(2))
End Sub

回复

使用道具 举报

 楼主| 发表于 2010-12-8 10:26 | 显示全部楼层

非常感谢。。。如果名字在E列。。分数在K列。。。是不是把相关的数值变成E,K,感觉这样不行。谢谢指导
回复

使用道具 举报

发表于 2010-12-8 10:44 | 显示全部楼层

QUOTE:
以下是引用wzwbzncjhb在2010-12-8 10:26:00的发言:
非常感谢。。。如果名字在E列。。分数在K列。。。是不是把相关的数值变成E,K,感觉这样不行。谢谢指导

改成e的那个列号 第几列  

比如columns(e)其实是coumns(5)

或者Columns("e")

回复

使用道具 举报

发表于 2010-12-8 10:45 | 显示全部楼层

Sub test()
    n = InputBox("请输入姓名:")
    MsgBox n & "的总分是:" & Application.WorksheetFunction.SumIf(Columns("e"), n, Columns("k"))
End Sub
回复

使用道具 举报

发表于 2010-12-8 10:48 | 显示全部楼层

Sub test()
    n = InputBox("请输入姓名:")
    MsgBox n & "的总分是:" & Application.WorksheetFunction.SumIf(Columns(5), n, Columns(11))
End Sub
回复

使用道具 举报

 楼主| 发表于 2010-12-8 10:55 | 显示全部楼层

明白了。谢谢老师。再提一个问题,如果输入名字有空格,,该如何规范。。谢谢。。比如张三三,输成张   三三该如何使它自动变成张三三。
回复

使用道具 举报

发表于 2010-12-8 10:56 | 显示全部楼层

  n = trim(InputBox("请输入姓名:"))
回复

使用道具 举报

发表于 2010-12-8 11:01 | 显示全部楼层    本楼为最佳答案   

QUOTE:
以下是引用wzwbzncjhb在2010-12-8 10:55:00的发言:
明白了。谢谢老师。再提一个问题,如果输入名字有空格,,该如何规范。。谢谢。。比如张三三,输成张   三三该如何使它自动变成张三三。

添加一句

n=Replace(n, " ", "")

回复

使用道具 举报

 楼主| 发表于 2010-12-8 11:14 | 显示全部楼层

问题已经得到解决。谢谢老师。
[此贴子已经被作者于2010-12-8 12:13:11编辑过]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 16:14 , Processed in 0.171651 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表