一、用EXCEL分班
1、处理思路
学校大多根据学习成绩进行分班,一般是按总分名次来划分的:比如要分8个班,则第1名分到一班、第2名分到二班……第8名分到八班,接着第9名分到八班、第10名分到七班……第16名分到一班。
2、划分班级
先将学生情况及成绩调入Excel工作
中,按总分降序排列(假设总分在H列,第一名在第三行),在总分列的右一列(即I列)从I3单元格开始向下填充1、2、3……再在其右一列(即J列)用公式算出应分在哪一个班级。
具体操作如下:在J3单元格中输入公式
“=IF(MOD(I3,2*8)>8,8-MOD(I3,8)+1,(IF(MOD(I3,2*8)=0,1,MOD(I3,2*8)))) ”,再在J列按公式将每名学生自动填充上班级号,每个工作表改名为一班、二班……在每个班级工作表中复制和原表一样的表头,在原成绩表中用“自动筛选”按班级号筛出各个班级的学生,并将其复制到相应的各个班级工作表即可。
小提示:以上公式中的“8”是要划分的班级个数,可以根据班级数的变化而修改,若分成n个班级,则总公式为“=IF MOD I3 2*n >n n-MOD I3 n +1 IF MOD I3 2*n =0 1 MOD I3 2*n ”。
3、打印名单
分好班级后,要把各班级的学生名单打印出来,一个班最好用一张
纸,可用分栏打印解决班级人数多的问题。而Excel没有专门的分栏打印功能,我就利用Excel的公式制作出分栏打印效果。
具体操作如下:先将某一班级名单按自己要求设置好,如页边距、表头、行高、字体等。在打印预览中,判断出每页的数据行数x(所谓数据行,指表头除外的记录行),回到普通视图下,在表的右边空列中,从第一数据行开始填充自然数序列1、2、3……假设此列在K列,第一数据行为第3行,则在L3单元格中填入公式“=mod(int((K3-1)/x),y)”(其中x为每页的数据总行数,y为分栏的栏数,就分班而言,两栏就够用了),并向下填充整个表。则该列出现了从0到y-1的数,即给每行计算出了该行所在的栏号,复制表头到新的工作表或新建的工作薄中。在班级工作表中也用“自动筛选”功能分别筛选出第0栏、第1栏……第y-1栏,并分别复制到新工件表中。
再对各新工作表进行相应的设置,如页边距、表头、行高、字体等,注意不要逐个工作表进行设置,按住“Ctrl”键,用鼠标单击窗口中需要设置相同内容的各个不同工作表标签,在其中一个工作表中修改设置,另外的工作表中就能自动修改。所有工作表都设置好后,分栏打印的各班名单就制作好了,用打印机打印出来便大功告成。
此方法都保留了原表,有利于修改,如要改变班级数、打印栏数、每页行数,只需改变n、x、y的值。另外,此方法用的是“自动筛选”功能,也可以用“高级筛选”来完成。
二、分班
思路:
1、各班的男生、女生比例要基本相同。
2、按成绩分为8个班,采用名次“轮回法”,如图1所示。
图1
具体操作:
1、创建“新生分班”工作簿
打开Excel,新建一工作簿“新生分班”,将Sheet1改名为“学生数据”。
2、插入新生数据到“新生分班”工作簿
打开存储学生数据的Word文档,将其中的表格数据“复制、粘贴”到Excel中的“新生分班/学生数据”工作表中。
3、调整工作表结构
打开“学生数据”工作表,调整工作表结构如图2所示。
图2
排名排序汇总分班
1、在“年级名次”栏填充名次
查看学生名单,在“年级名次”一列中,单击鼠标左键,选择D2单元格(第1位同学名次所在单元格),“照葫芦画瓢”地输入下列公式“=RANK(C2,$C$2:$C$401,0)”。
提示:
(1)公式中的“C”为成绩所在列的列号,C2、C401分别为第一位同学和最后一位同学的成绩所在的单元格,具体字母、数字根据实际情况而定。公式中的“$”不可省略,最后一个“0”也不可省略。
(2)注意不要用“=IF(c2=c1,d1,row(c2)-1)”,不信?试试就知道了。
输入完以上公式后回车,即可自动得出该学生的名次如图3所示。此后,鼠标左键双击(如果你愿意,也可以用“拖拉大法”)D2单元格右下角的控点(是一个小黑方块),即可自动得出全部学生的名次了。
图3
2、按性别、名次排序
选择菜单“数据→排序”,显示图4所示对话框,按照图中的样子调整参数,单击[确定]按钮即可。
图4
3、填充班号
在“班号”一栏中,按照如此循环填充班号:
1-2-3-4-5-6-7-8→8-7-6-5-4-3
-2-1→1-2-3-4-5-6-7-8→8-7-6-5-4-3-2-1……
[方法一]:手工方法
虽说是手工,但实际上并不慢,因为只需人工填写一个循环节即可,其余的可以复制、粘贴。
[方法二]:自动填充
(1)选择菜单“工具→选项”,在弹出的对话框中单击“自定义序列”标签,在左侧小窗口中单击“新序列”,在右侧小窗口中输入“b8,b7,b6,b5,b4,b3,b2,b1,b1,b2,b3,b4,b5,b6,b7,b8”(b为班,引号内的每一个逗号都代表一个回车。注意序列是b8—b1—b1—b8,而不是b1—b8—b8—b1,为什么?自己试一试就知道了),如图5所示。输入完毕,单击[确定]按钮退出。
图5
(2)在“E2”(第一名同学“班号”所在的单元格)中输入“b1”后,用鼠标左键双击“E2”单元格右下角的控点,即可自动得出全部学生的班号。
提示:
自定义序列可以修改,修改时在图5左侧的小窗口中选择自定义的序列后,单击右边的小窗口即可编辑修改。
4、按班号排序
选择菜单“数据→排序”,显示新的对话框,调整参数如图6所示,单击[确定]按钮即可。
图6
提示:图中的“次要关键字”、“第三关键字”可根据实际需要进行调整。
5、按“班号”分类汇总
图7
(1)选择菜单“数据→分类汇总”,显示如图7所示的对话框,调整参数如图所示(一定要选中“每组数据分页”,否则打印出来班与班之间不分页,那就得用“剪刀大法”了),然后单击[确定]按钮即可。
(2)选择菜单“编辑→替换”,将“计数”替换为“班人数”。
6、设置页面,排版打印
图8
选择菜单“文件→页面设置”,显示对话框,调整参数如图8所示,单击[确定]按钮即可(图中参数中要注意“缩放比例”,它的大小由内容决定:内容窄、短,则比例要大;反之,比例要小)。
图9
接着在“页面设置对话框→工作表”中按图9所示调整好参数后单击[确定]按钮即可(要注意“顶端标题行”的设置,假设有N行标题,就是“$1:$N”)。
三、用Excel 编制自动分班 (按1000 人计算)
1.打开Excel 工作簿。
2.在首行各单元格中,从左到右依次输入“男分”、“男余”、“男次”、“男”、“女分”、 “女余”、“女次”、“女”、“班次”、“姓名”、“总分”、“性别”和“班数”。
3.在“男”列的D2 单元格中输入公式“=IF(L2="男",K2,0)”,向下拖动复制到D1001;在“女”列的H2 单元格中输入公式“=IF(L2="女",K2,0)”,向下拖动复制到H1001。注意:在输入公式时,除汉字而外,所有字符一律要在英文输入状态下输入,且不要加进空格。
4.在“男余”列的B2 单元格中输入公式“=IF(D2=0,"",MOD(C2,2*M$2))”,向下拖动复制到B1001;在“女余”列的F2 单元格中输入公式“=IF(H2=0,"",MOD(G2,2*M$2))”,向下拖动复制到F1001。
5.在“男分”列的A2单元格中输入公式
“=IF(D2=0,0,IF(B2=0,M$2,IF(B2<=M$2,M$2+1-B2,B2-M$2))) ”,向下拖动复制到 A1001 ; 在 “ 女 分 ” 列 的 E2 单 元 格 中 输 入 公 式
“=IF(H2=0,0,IF(F2=0,1,IF(F2<=M$2,F2,2*M$2+1-F2)))”,向下拖动复制到E1001。
6.在“班次”列的I2 单元格中输入公式“=A2+E2”,向下拖动复制到I1001。在M2 中输入“6”(默认的年级总班数,使用时可任意设定)。
7.在“女次”列的 G2、G3 单元格中分别输入公式“=RANK(H2,H$2:H$1001)”和 “=RANK(H3, H$2:H$1001)+COUNTIF(H$2:H2,H3)”,将G3 向下拖动复制到G1001;在“男次 ” 列 的 C2 、 C3 单 元 格 中 分 别 输 入 公 式 “ =RANK(D2,D$2:D$1001) ” 和 “=RANK(D3, D$2:D$1001)+COUNTIF(D$2:D2,D3)”,将C3 向下拖动复制到C1001。
8.选定A1:H1,点击〖格式〗→〖列〗→〖隐藏〗。再点击〖工具〗→〖选项〗→〖重 新计算〗→〖人工重算〗→〖确定〗。
9.选定I2:I1001,点击〖格式〗→〖单元格〗→〖保护〗→选中“锁定”、“隐藏”(前面出现“√”)→〖确定〗;选定 J2:M1001,点击〖格式〗→〖单元格〗→〖保护〗→不选中“锁定”、“隐藏”(去掉前面的“√”)→〖确定〗。再点击〖工具〗→〖保护〗→ 〖保护工作表〗→输入密码→〖确定〗;再点击〖工具〗→〖保护〗→〖保护工作簿〗 →输入密码→〖确定〗。
10.点击〖文件〗→〖保存〗→输入文件名“自动分班”,将“保存类型”选为“模板”→〖保存〗。退出。 这样,一个自动分班软件就编制成功了!
使用方法如下: ①启动Excel,点击〖文件〗→〖新建〗→〖常用〗→选择“自动分班”→〖确定〗。 ②将姓名、总分、性别的有关信息输入到相应位置。注意:“性别”项中“男”、“女” 前后不得有空格和其它任何字符。在 M2 单元格中输入年级总班数(否则按 6 个班进行自动分班)。 ③按F9 键,即完成自动分班工作。 ④将 I1:L1001 复制到新的工作簿上,就可按班排序并编辑(如调整个别特殊学生的班次等)和打印输出。
四、在 Excel 中通过比较两列中的数据来查找重复项
本文介绍了两种用于比较 Microsoft Excel 工作表两列中的数据和查找重复项的方法。
本文介绍了两种用于比较 Microsoft Excel 工作表两列中的数据和查找重复项的方法。
方法 1:使用工作表公式若要使用工作表公式比较两列中的数据,请按照下列步骤操作: 启动 Excel。 在新的工作表中,输入下面的数据(保留列 B 为空): A1...
方法 1:使用工作表公式
若要使用工作表公式比较两列中的数据,请按照下列步骤操作:
1. 启动 Excel。
2. 在新的工作表中,输入下面的数据(保留列 B 为空):
A1:1 B1:C1: 3
A2:2 B2:C2: 5
A3:3 B3:C3: 8
A4:4 B4:C4: 2
A5:5 B5:C5: 0
3. 在单元格 B1 中键入以下公式:
=IF(ISERROR(MATCH(A1,$C$1:$C$5,0)),"",A1)
4. 选择单元格 B1:B5。
5. 在 Microsoft Office Excel 2003 和 Excel 的较早版本中,指向“编辑”菜单上的“填充”,然后单击“向下”。
在 Microsoft Office Excel 2007 中,在“编辑”组中单击“填充”,然后单击“向下”。
重复的数字显示在列 B 中,如下所示:
A1:1 B1:C1: 3
A2:2 B2:2 C2: 5
A3:3 B3:3 C3: 8
A4:4 B4:C4: 2
A5:5 B5:5 C5: 0
方法 2:使用 Visual Basic 宏
Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能。但是,他们将不会修改这些示例以提供额外的功能,也不会构建过程以满足您的特定要求。 要使用 Visual Basic 宏比较两列中的数据,请按照下列步骤操作:
1. 启动 Excel。
2. 按 Alt+F11 启动 Visual Basic 编辑器。
3. 在插入菜单上,单击模块。
4. 在模块表中输入下面的代码:
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Set CompareRange equal to the range to which you will
' compare the selection.
Set CompareRange = Range("C1:C5")
' NOTE:If the compare range is located on another workbook
' or worksheet, use the following syntax.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("C1:C5")
'
' Loop through each cell in the selection and compare it to
' each cell in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = x
Next y
Next x
End Sub
5. 按 Alt+F11 返回 Excel。
6. 输入下面的数据(保留 B 列为空):
A1:1 B1:C1: 3
A2:2 B2:C2: 5
A3:3 B3:C3: 8
A4:4 B4:C4: 2
A5:5 B5:C5: 0
7. 选择区域 A1:A5。
8. 在 Excel 2003 及较早版本的 Excel 中,指向“工具”菜单上的“宏”,然后单击“宏”。
在 Excel 2007 中,单击“开发工具”选项卡,然后单击“代码”组中的“宏”。
9. 单击 Find_Matches,然后单击执行。
重复的数字显示在列 B 中。匹配的数字将放在第一列的旁边,如下所示:
A1:1 B1:C1: 3
A2:2 B2:2 C2: 5
A3:3 B3:3 C3: 8
A4:4 B4:C4: 2
A5:5 B5:5 C5: 0
五、Excel中快速输入相同特征的数据
在用Excel进行输入数据的过程中,我们经常遇到一些相同特征数据的输入,比如学生的学籍号、准考证号、单位的职称证书号等,都是前面几位相同,只是后面的数字不一样。如果一个个依次输入,既麻烦又枯燥无味,还容易出错。是不是有简单的方法,只输后面几位,前面相同的几位让计算机自动填充呢?下面笔者就介绍两种方便可行的方法。笔者以我校的学籍号为例,学籍号共10位数字(例如前面都是252303)。
方法一
假如要输入的数据放在A列,从A2单元格开始输入学籍号后面几位数字,依次输入A3、A4等,所有的数据输入完毕后,在B2单元格中输入公式“=252303&&A2”然后回车,这样B2单元格的数据在A2的基础上就自动加上了252303。鼠标放到B2位置,双击单元格的填充柄(或者向下拉填充柄),瞬间B列全部加上了252303,至此所有的数据都改好了。
方法二
1. 选定要输入共同特征数据的单元格区域,单击鼠标右键,在弹出的快捷菜单中选择“设置单元格格式”命令,打开“单元格格式”对话框(也可依次选择“格式→单元格”菜单命令打开)。
图1
图2
2. 选择“数字”选项卡,选中“分类”下面的“自定义”选项,然后在“类型”下面的文本框中输入2523030000(注意:后面有几位不同的数据就补几个0),单击〔确定〕按钮即可。
3. 在单元格中只需输入后几位数字,如“2523034589”只要输入“4589”,系统就会自动在数据前面添加“252303”。另外也可以先输入数字,再选中单元格区域设定数据格式,可以得到相同的效果。
六、如何让excel表格中的两列数据相同的排列在一行
例如:
姓名 分数 姓名 分数
张三 10 王五 20
李四 11 周六 18
郑七 20 张三 19
王五 12
周六 13 李四 17
如何变成分数和姓名还是要对应在一起的
姓名 分数 姓名 分数
张三 10 张三 19
李四 11 李四 17
郑七 20
王五 12 王五 20
周六 13 周六 18
具体操作:
E2输入公式=IF(COUNTIF($C:$C,$A2)=0,"",INDEX($C:$D,MATCH($A2,$C:$C,),COLUMN(A2))),右拉至F2,同时下拉至A列数据末尾,最后复制E、F列,选择性粘贴-数值,即可删除C、D列。
七、excel中查找两列中的相同数据
有A B两列数据,量比较大,而且不一定相同的数据在EXCEL中是在同一排,怎样才能在两列中找出相同的数据?
具体操作:
有A, B两列数据,假设A列数据从第2行到21000行,B列数据比A列的多,从第2行到22000行,在空白列如C列的C2输入:
=IF(ISERROR(VLOOKUP(B2,A$2:A$21000,1,0)),"不重复","重复")
将上述公式复制或填充到A22000,
再通过自动筛选功能筛选出"重复"的数据.(编辑栏>数据>筛选>自动筛选>在下拉框中选择"重复">将筛选出的"重复"数据复制到其他空白表中.)
八、巧用Excel函数查找重复项
在Excel中,我们经常面对数据重复的问题,如何快速的标识重复项成了令我们头疼的问题,有人说了,Excel里有删除重复项的功能,是的,但是删除重复项不会告诉你到底是哪几条数据重复了,而且如果你并不是想要删除这个重复项呢?我们经常会遇到同名同姓的人,这在学校和一些大企业中很常见,我们总不能只保留一个人的名字吧。
其实,利用Excel函数就可以轻松帮助我们解决此问题。如下图:
如何快速找到重复项呢?利用函数公式吧。
在B2单元格中输入=IF(COUNTIF(A:A,A2)>1,"重复",""),再向下拖拽即可。公式什么意思呢?在A列中寻找和A2单元格名字相同的姓名,如果有相同姓名,countif函数就会进行计数,当没有出现重复姓名时,if的判断条件不成立,此时不输入任何字符。当出现重复姓名时,if判断成立,输出“重复”两字。
当然,当我们向下拖拽(这个操作你应该会吧?选中单元格,将鼠标移动到单元格右下角的边缘,待到鼠标图标变成了黑色十字,则点住不放向下拉动)时,函数中的A2会自动变成A3、A4、A5……
九、用Excel函数核对录入成绩
很多老师都有一个头疼的问题,当遇到大型考试时,成绩录入的核对是一项烦琐的工作。在今年的中招考试中我就遇到了这样的事情。我把自己的方法与大家共享,希望对你有所帮助。
领导为了尽量减少录入错误,要求每一科必须由不同的人录入三次,如果录入的三次成绩有一次不相同就需要重新找出试卷,核查成绩。一万多个考生,六个科目,怎么核对呢?正当我愁眉不展之时,Excel中的if函数在脑海中浮现了出来,如果A=B,B=C,A=C不就三次成绩都一样了吗?我在A列B列C列随意输入了10个数,在D列输入函数“=IF(A8=B8,IF(A8=C8,IF(B8=C8,)))”,结果就出现了两个值“0和FLASE”。三个数都相同的出现的值是“0”,三个数中有一个不相同的出现的值就是“FLASE”。对D列数据进行“自动筛选”不就可以把不一样的数值选出来了吗?
我在成绩录入完后,用这种方法在不到两个小时的时间内就对一万多名考生、六个科目的试卷录入不合格的考生名单全部打印出来了,而且考号还是按原来顺序排列,查找起来也很方便。用了不到四个小时的时间就全部核对完毕,又快又准确!不信你试一试,简单实用。
十、让Word和Excel表格中的数据同步更新技巧
在Word文档编辑时,需要用到Excel工作表中的数据资料,但是当word和Excel中某一个数据发生改变后,我们就不得不寻找对应的部分来修改,如果涉及的数据量较大,那工作的强度也会大大提升。其实,Word和Excel提供了能让两者数据同步的方法,并且简单易行。
Step1:复制段落
打开Word文档和要引用该Word数据的Excel工作表,然后在word中回个车,这时显示两个段落标记。选取这两个段落标记,然后复制。
Step2:粘贴链接
切换到Excel编辑窗口,鼠标右键单击数据栏,选择选择性粘贴,在弹出的窗口中员粘贴链接后,再选择Microsoft Office word文档对象,然后点确定退出。
Step3:同步输入
回到Word文档,输入内容,包括图片、表格均可。几秒种后,Excel中就会显示更改后的Word数据,这样就达到同步的目的了。如果你想让同步更快,那么在输入内容后点击Word工具栏上的保存按钮就要中以了。
需要的是,在Word中输入内容时,不能在最后一个段落标记前输入,否则是不会正常同步变理我的,因此必须是最后一个段浇标记之上输入或回车再输入才有效。
十一、请问Excel中如何查找含有汉字的单元格
一张表格中绝大多数均为字母和数字,只有个别单元格中夹杂有汉字,如何把这些单元格找出来?
具体操作:
先点中一个单元格(设为D5),格式→条件格式→公式:=LENB(D5)>LEN(D5),自己设置格式,确定后退出,再把该单元格的格式用格式刷刷所有单元格。有汉字的出现所设格式。
十二、何在已有的单元格中批量加入一段固定字符?
例如:在单位的人事资料,在excel中输入后,由于上级要求在原来的职称证书的号码全部再加两位,即要在每个人的证书号码前再添上两位数13,如果一个一个改的话实在太麻烦了,那么我们可以用下面的办法,省时又省力:
1)假设证书号在A列,在A列后点击鼠标右键,插入一列,为B列 ;
2)在B2单元格写入: ="13" & A2 后回车;
3)看到结果为 13xxxxxxxxxxxxx 了吗?鼠标放到B2位置,单元格的下方不是有一个小方点吗,按着鼠标左键往下拖动直到结束。当你放开鼠标左键时就全部都改好了。
若是在原证书号后面加13 则在B2单元格中写入:=A2 & “13” 后回车。
十三、要计算非空单元格的个数,请使用 COUNTA 函数。示例:
1
2
3
4
5
6
A
数据
销售额
19
TRUE
公式
说明(结果)
=COUNTA(A2:A6)
计算上列数据中非空白单元格的个数 (3)
=COUNTA(A2:A3, A6)
计算上列数据中前两个单元格与最后一个单元格中非空白单元格的个数 (1)
十四、RANK函数
返回一个数字在数字列表中的排位。数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位就是它当前的位置)。
语法
RANK(number,ref,order)
Number 为需要找到排位的数字。
Ref 为数字列表数组或对数字列表的引用。Ref 中的非数值型参数将被忽略。
Order 为一数字,指明排位的方式。
? 如果 order 为 0(零)或省略,WPS表格 对数字的排位是基于 ref 为按照降序排列的列表。
? 如果 order 不为零,WPS表格 对数字的排位是基于 ref 为按照升序排列的列表。
说明
函数 RANK 对重复数的排位相同。但重复数的存在将影响后续数值的排位。例如,在一列整数里,如果整数 10 出现两次,其排位为 5,则 11 的排位为 7(没有排位为 6 的数值)。
示例
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
A
数据
1
7
3
3.5
4
3.5
5
1
6
2
公式
说明(结果)
=RANK(A3,A2:A6,1)
3.5在上表中的排位(3)
=RANK(A2,A2:A6,1)
7在上表中的排位(5)
相关功能:
用rank函数没错,但rank函数得到的结果是美式排名,比如有2个并列第二名,就没有第三名,直接到第四名,这不符合中国的习惯。给你一个中国式排名的公式。比如成绩在B2:B10单元格,在C2:C10单元格排名次的话,在C2单元格输入公式=sumproduct((b2:b10>b2)/countif(b2:b10,b2:b10))+1,然后拖动填充到C10单元格即可。
利 用RANK 函 数 排 名 次
---- 众 所 周 知, 在Excel 中 可 以 很 方 便 地 按 工 作 表 中 一 列 数 据 的 大 小 进 行 排序, 其 结 果 是 所 有 的 行( 记 录) 的 次 序 可 能 被 打 乱。 在 某 些 排 序 问 题 中, 如 在 学 生成 绩 汇 总 表 中 按 各 门 课 程 成 绩 或 总 成 绩 排 列 名 次 时, 必 须 仍 按 学 号 从 小 到 大 的次 序 排 列, 不 允 许 将 行 的 次 序 打 乱, 而 仅 仅 是 在 名 次 一 栏 中 填 入 适 当 的 数。 这 时一 般 可 采 用 如 下 的 做 法:
---- 第 一 步: 按 某 一 门 课 程 成 绩 的 降 序 排 序。
---- 第 二 步: 在 该 课 程 名 次 一 列 中 依 次 输 入1、2, 然 后 利 用 拖 曳 自 动 填 充 柄的 方 法 输 入 以 后 的 名 次。
---- 第 三 步: 按 学 号 的 升 序 排 序。
---- 重 复 第 一 步 和 第 二 步, 可 对 其 他 课 程 成 绩 和 总 成 绩 排 名 次。
---- 但 用 这 种 方 法 排 名 次 主 要 有 以 下 缺 点:
---- 1 . 必 须 有 一 个 能 刻 划 记 录 的 原 始 次 序 的 列, 如 学 号, 如 果 没 有 的 话,必 须 人 为 地 加 上 一 列, 否 则 无 法 恢 复 到 原 来 的 次 序。
---- 2 . 这 些 名 次 没 有" 自 动 重 算" 的 功 能, 对 成 绩 数 据 进 行 修 改 后, 必 须 用上 述 的 手 工 方 法 重 新 排 名 次。
---- 3 . 如 果 学 生 姓 名 和 课 程 成 绩 因 打 印 的 需 要 必 须 分 两 栏 存 放 的, 就 不能 直 接 使 用 这 种 方 法。
---- 使 用 统 计 函 数 类 中 的RANK 函 数, 并 结 合 其 他 技 巧, 可 以 很 好 地 克 服 上 述缺 点。 用 本 文 所 介 绍 的 方 法, 不 但 可 以 对 不 同 列 中 的 数 据 排 名 次, 还 可 以 对 任 意区 域 中 的 数 据, 甚 至 来 自 不 同 工 作 表 中 的 任 意 区 域 中 的 数 据 排 名 次。
---- RANK 函 数 返 回 的 是 一 个 数 在 一 组 数 中 的 排 位 值。 其 语 法 为:
---- RANK(number,ref,order) 其 中:number 为 需 要 找 到 排 位 的 数,ref 为 包含 一 组 数 的 数 组 或 引 用(ref 中 的 非 数 值 型 数 据 将 被 忽 略),order 为 一 指 明 排 位方 式 的 数,order 为0 或 省 略 时 按 降 序 排 位,order 不 为0 时 按 升 序 排 位。
---- 例 如, 如 果 区 域A1:A5 中 分 别 含 有 数 字7、5、4、1 和2, 则:RANK(A2,A1:A5) 等 于2, 而RANK(A2,A1:A5,1) 等 于4。
---- 现 在 我 们 通 过 一 个 实 例 来 说 明 如 何 使 用RANK 函 数。
---- 假 设 在Sheet1 上 有 一 个 包 含50 名 学 生 的 语 文、 数 学 成 绩 的 排 名 表。 因 考虑 到 要 在A4 纸 上 打 印, 必 须 分 成 两 栏。 其 中A2:A26 和F2:F26 存 放 学 生 姓名;B2:B26 和G2:G26 存 放 语 文 成 绩;D2:D26 和I2:I26 存 放 数 学 成 绩;C2:C26 和H2:H26 存 放 语 文 名 次;E2:E26 和J2:J26 存 放 数 学 名 次。
---- 使 用RANK 函 数 对 学 生 的 语 文、 数 学 成 绩 排 列 名 次, 方 法 及 步 骤 如下:
---- 第 一 步: 选 取 一 张 空 的 工 作 表, 比 如 是Sheet2。 在Sheet2 的A1 中 输 入 公式"=Sheet1!B2", 在B1 中 输 入 公 式"=Sheet1!D2", 用 拖 曳 自 动 填 充 柄 的 办 法 将 这两 个 公 式 复 制 到A2:B25; 在A26 中 输 入 公 式"=Sheet1!G2", 在B26 中 输 入 公式"=Sheet1!I2", 用 拖 曳 自 动 填 充 柄 的 办 法 将 这 两 个 公 式 复 制 到A27:B50。
---- 这 一 步 是 能 否 根 据Sheet1 中 的 数 据 自 动 重 算 的 关 键, 如 果 不 需 要 自 动重 算, 可 只 复 制Sheet1 中 有 关 区 域 的 内 容。
---- 第 二 步: 选 定Sheet1 中 的C2 单 元 格, 输 入 公式"=RANK(B2,Sheet2!$A$1:$A$50,0)" , 通 过" 复 制"*" 粘 贴" 的 办 法 将 该 公 式 复制 到C3:C26 和G2:G26。
---- 第 三 步: 选 定Sheet1 中 的E2 单 元 格, 输 入 公式"=RANK(D2,Sheet2!$B$1:$B$50,0)", 通 过" 复 制"*" 粘 贴" 的 办 法 将 该 公 式 复制 到E3:E26 和J2:J26。
---- 于 是, 所 有 的 名 次 就 全 都 自 动 排 好 了, 当 成 绩 变 动 时, 所 有 名 次 都 会 自动 重 算。
---- 几 点 说 明:
---- 1 . 当RANK 函 数 中 的number 不 是 一 个 数( 例 如 某 学 生 缺 考) 时, 其 返 回值 为"#VALUE!", 影 响 美 观。 另 外,Excel 有 时 将 空 白 单 元 格 当 成 是 数 值"0" 处 理,造 成 所 有 成 绩 空 缺 者 都 是 最 后 一 名, 看 上 去 很 不 舒 服。 此 时, 可 将 第 二 步 中 的 公式"=RANK(B2,Sheet2!$A$1:$A$50,0)" 改为"=IF(ISNUMBER(B2),RANK(B2,Sheet2!$A$1:$A$50,0),"""。 当 然, 第 三 步 中 的公 式 也 要 作 相 应 的 改 动。
---- 2 .RANK 函 数 中 的ref 只 能 是 一 个 矩 形 区 域, 如 果 需 排 位 的 数 据 分 布 在几 个 不 同 的 矩 形 区 域 中, 甚 至 是 在 不 同 的 工 作 表 上, 可 以 将 有 关 单 元 格 引 用 的 公式 不 重 叠 地 分 别 填 写 在 同 一 工 作 表 中( 多 余 的 空 白 单 元 格 或 非 数 值 单 元 格 不 影响 排 位)。
---- 3 . 如 果RANK 函 数 中ref 所 引 用 的 区 域 中 有 重 复 数, 则 函 数 返 回 相 同 的排 位 数, 但 重 复 数 的 存 在 将 影 响 后 续 数 值 的 排 位。 例 如, 在 一 列 整 数 里, 如 果 整数10 出 现 两 次, 其 排 位 为5, 则11 的 排 位 为7( 没 有 排 位 为 6 的 数 值)。 这 与 一 般 的排 名 方 法 是 一 致 的。
十五、EXCEL 中 RANK 函数的使用
RANK 函数返回一个数字在数字列表中的排位。数 字的排位是其大小与列表中其他值的比值(如果列表已 排过序,则数字的排位就是它当前的位置) 。
语法: RANK(number,ref,order)
Number 为需要找到排位的数字。
Ref 为数字列表数组或对数字列表的引用。
Ref 中 的非数值型参数将被忽略。 Order 为一数字,指明排位的方式。 如果 order 为 0 (零) 或省略, Microsoft Excel 对 数字的排位是基于 ref 为按照降序排列的列表。 如果 order 不为零,Microsoft Excel 对数字的排 位是基于 ref 为按照升序排列的列表。 说明:函数 RANK 对重复数的排位相同。但重复 数的存在将影响后续数值的排位。例如,在一列按升序 排列的整数中,如果整数 10 出现两次,其排位为 5, 则 11 的排位为 7(没有排位为 6 的数值) 。
由于某些原因, 用户可能使用考虑重复数字的排位定义。 在前面的示例中,用户可能要将整数 10 的排位改为 5.5。 这可通过将下列修正因素添加到按排位返回的值来 实现。该修正因素对于按照升序计算排位(顺序 = 非 零值)或按照降序计算排位(顺序 = 0 或被忽略)的情 况都是正确的。 重 复 数 排 位 的 修 正 因 素 =[COUNT(ref) + 1 – RANK(number, ref, 0) – RANK(number, ref, 1)]/2。 在下列示例中,RANK(A2,A1:A5,1) 等于 3。修正 因素是 (5 + 1 – 2 – 3)/2 = 0.5,考虑重复数排位的修改 排位是 3 + 0.5 = 3.5。如果数字仅在 ref 出现一次,由 于不必调整 RANK,因此修正因素为 0。 示例 1 2 3 4 5 6 A 数据 7 3.5 3.5 1 2 公式 说明(结果) =RANK(A3,A2:A6,1) 3.5 在上表中的排位 (3) =RANK(A2,A2:A6,1) 7 在上表中的排位 (5)
A
数据
1
7
3
3.5
4
3.5
5
1
6
2
公式
说明(结果)
=RANK(A3,A2:A6,1)
3.5在上表中的排位(3)
=RANK(A2,A2:A6,1)
7在上表中的排位(5)
十六、在Excel中If函数的使用方法
▲在“成绩表”工作表中,在“等级”字段下用粘贴函数的if函数将“英语”成绩小于60分的用“不及格”表示;60~89分的用“合格”表示;大于等于90分的用“优秀”表示。
▼=IF(E7>=90,"优秀",IF(AND(E7>=60,E7<90),"合格",IF(E7<60,"不及格")))
用case语句也可:
D2小于等于50,D3小于等于1800便为"合格"反之为:"不合格",公式应该是输入?
=if(and(d2<=50,d3<=1800),"合格","不合格")
在B1单元格编辑公式 :
=IF(A1>=500,"一级",IF(AND(A1>=450,A1<500),"二级","三级"))回车确认即可。
可以用填充柄把B1中的公式向下复制到相应的单元格。就这些语句就足够了.
只要掌握了他的语句格式,和他的语法,基本上就可以解决的.不过excel中应该还有很多其他的功能和算法需要研究.
我在学校里做成绩单,老班要求每一个人列出自己的追赶目标是谁,为了在成绩单里体现每个同学的追赶成功与否,要把同学本人的成绩与被追赶同学的成绩加以比较,再返回Yes或No。可是用手工一个个向单元格里制造函数太累了,谁能帮我想个一劳永逸的办法?
增加K列,显示追赶成功与否的结果(如上图所示),在K4中输入公式:
=IF(ISNA(MATCH(J4,$B$4:$B$9,0)),"",IF(H4