excel中,更改前面的成绩,最后的还是成绩降序排列。在s4中输入公式,成绩在R4中,求公式
比如A的成绩在第一名,然后我更改了A的成绩,他就变成了第五名,改后,A的位置就第五个了,动态的...
比如A的成绩在第一名,然后我更改了A的成绩,他就变成了第五名,改后,A的位置就第五个了,动态的
展开
3个回答
展开全部
这个问题需要用到宏
假如说你的excel表的数据在sheet1,并且A列是姓名,B列是成绩,C列是排名。
姓名 成绩 排名
张三 1 5
李四 2 4
王五 13 3
赵六 17 2
钱七 23 1
————————————————————
C2的公式是=rank(b2,$b$2:$b$6),C3和C6的公式通过下拉得到。
那么,摁下alt+f11,打开microsoft visual basic 窗口,摁下ctrl+R,打开工程资源管理器,找到自己正在编辑的文件名,展开microsoft excel 对象,双击sheet1,在右侧的空白代码区粘贴如下代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Range("A:C").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
End If
End Sub
修改B列的成绩看看,是不是会按照C列的排名排序?
姓名 成绩 排名
张三 40 1
李四 30 2
钱七 23 3
赵六 17 4
王五 13 5
假如说你的excel表的数据在sheet1,并且A列是姓名,B列是成绩,C列是排名。
姓名 成绩 排名
张三 1 5
李四 2 4
王五 13 3
赵六 17 2
钱七 23 1
————————————————————
C2的公式是=rank(b2,$b$2:$b$6),C3和C6的公式通过下拉得到。
那么,摁下alt+f11,打开microsoft visual basic 窗口,摁下ctrl+R,打开工程资源管理器,找到自己正在编辑的文件名,展开microsoft excel 对象,双击sheet1,在右侧的空白代码区粘贴如下代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
Range("A:C").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
End If
End Sub
修改B列的成绩看看,是不是会按照C列的排名排序?
姓名 成绩 排名
张三 40 1
李四 30 2
钱七 23 3
赵六 17 4
王五 13 5
更多追问追答
追问
不知道怎么打开microsoft visual basic
追答
不是跟你说了吗,摁下组合键ALT + F11
展开全部
因为你设置了成绩那一列安降序排列,取消就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rank
更多追问追答
追问
我也用过rank的,你可以给我详细的公式吗,好像rank做不出来
追答
=RANK(A17,($A$17:$A$21))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询