Excel精英培训网

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

[已解决]如何根据多参数标记等级

[复制链接]
发表于 2016-6-22 10:36 | 显示全部楼层 |阅读模式
本帖最后由 xingel 于 2016-6-23 16:21 编辑

sheet1中字段有 专业、专业成绩线(标记X)、非专业成绩D等级、非专业成绩C等级、非专业成绩B等级、非专业成绩A等级,sheet2中字段有 学号、姓名、专业、专业成绩、非专业成绩、综合等级,
求教如何根据sheet1中参数,求出sheet2中的综合等级?先行谢过各位
最佳答案
2016-6-22 15:58
………………
QQ图片20160622102222.png

等级.rar

2.72 KB, 下载次数: 10

发表于 2016-6-22 11:41 | 显示全部楼层
附件

等级.rar

7.15 KB, 下载次数: 6

回复

使用道具 举报

发表于 2016-6-22 15:58 | 显示全部楼层    本楼为最佳答案   
………………

等级.zip

9.47 KB, 下载次数: 16

回复

使用道具 举报

 楼主| 发表于 2016-6-22 17:19 | 显示全部楼层
本帖最后由 xingel 于 2016-6-22 19:06 编辑

感谢baksy的公式,感谢dsmch。
dsmch,若非专业成绩低于该类D档线,其综合等级中“ABCD”会继承上一个的ABCD等级,有劳改动一下
回复

使用道具 举报

发表于 2016-6-22 19:36 | 显示全部楼层
xingel 发表于 2016-6-22 17:19
感谢baksy的公式,感谢dsmch。
dsmch,若非专业成绩低于该类D档线,其综合等级中“ABCD”会继承上一个的AB ...
  1. Sub TJ()
  2.     Dim Sht As Worksheet, Rng As Range
  3.     Dim Arr, Bz$
  4.     Arr = Sheet2.[a1].CurrentRegion: brr = Sheet1.[a1].CurrentRegion
  5.     Set Sht = Sheets("sheet1")
  6.     For i = 2 To UBound(Arr)
  7.         Set Rng = Sht.Columns(1).Find(Arr(i, 3), , , xlWhole)
  8.         If Arr(i, 4) >= Sht.Cells(Rng.Row, 2) Then Bz = "X"
  9.         For j = 1 To 4
  10.             If Arr(i, 5) >= brr(Rng.Row, j + 2) Then Zy = Chr(69 - j)
  11.         Next
  12.         Cells(i, 7) = Zy & Bz
  13.         Zy = "": Bz = ""
  14.     Next
  15.    
  16. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
xingel + 1 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-6-22 23:00 | 显示全部楼层
本帖最后由 xingel 于 2016-6-22 23:11 编辑

谢谢lmze2000的巧思,值得深刻学习
dsmch的字典思路也挺好,再加一句If s = 0 Then p = ""就完善了
回复

使用道具 举报

 楼主| 发表于 2016-6-23 09:05 | 显示全部楼层
本帖最后由 xingel 于 2016-6-23 16:25 编辑

多谢两位老师,已经解决问题了,太感谢了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 15:45 , Processed in 0.406036 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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