学习首页 百科 人生课堂 办公软件 英语学习 操作系统 故事会 编程资料 软件学习 设计
铭瑶网 >> 学习首页 >> 办公 >> 闻欧学堂——用Excel函数自动排名次
标题:闻欧学堂——用Excel函数自动排名次

【字体: 】 时间:2008-4-11 来源:互联网 作者:study

闻欧学堂——用Excel函数自动排名次

笔者认为无论对原数据清单进行排序或筛选最好不要破坏原清单的原貌。EXCEL的函数十分丰富,不用宏,用函数也能解决数值自动排名。方法如下。 如第一行为表头,A列(例如A2:A101,下同)为姓名,B列数据,在C2单元格输入公式“=IF(A2=0,0,INT(CONCATENATE(INT(B2),200-ROW(A1))))”。公式中ROW(A1)为A1单元格所在的行数即为1,(该公式下拉时依次为2、3、4.....),用200来减是为了CONCATENATE函数中的第2个参数保持3位数,CONCATENATE函数是一个拼合函数这里把B列的数据和它所在的行数拼合成一个数据。这样在对它进行排序后该数据包含了它所在行数的信息。CONCATENATE函数INT函数套用是为了把原来的文本变为数字。 在D2单元格输入公式“=LARGE(C:C,ROW(A1))”即对B列数值(包含所在行的信息)按大小排列。 在F2单元格(为了与原始清单分开中间空了一列)输入公式“=IF(D2=0,0,200-RIGHT(D2,3))”,函数 RIGHT(D2,3)即为D2单元格数据的后3位数,用200来减即为此数据所在的行数。 在G2单元格输入公式“=IF($F2=0,0,INDEX($A$2:$B$15,$F2,COLUMN(A1)))”,并拖到H2单元格。INDEX函数为引用函数,即根据F2单元格所标明的行数在$A$2:$B$15单元格矩阵中引用姓名及得分。 在I2单元格输入公式“=IF(H2=0,0,IF(H2=H1,I1,ROW(A1)))”,本来G、H列就是按得分大小排列的,但可能有平列名次,所以选用上述公式。 最后把C2到I2单元格的公式下拉,程序就完成了。  
 
 

查看/参与:讨论/评论 相关文章:Excel