直播中
如第一行為表頭,a列(例如a2:a101,下同)為姓名,b列數(shù)據(jù),在c2單元格輸入公式“=if(a2=0,0,int(concatenate(int(b2),200-row(a1))))”。公式中row(a1)為a1單元格所在的行數(shù)即為1,(該公式下拉時依次為2、3、4.....),用200來減是為了concatenate函數(shù)中的第2個參數(shù)保持3位數(shù),concatenate函數(shù)是一個拼合函數(shù)這里把b列的數(shù)據(jù)和它所在的行數(shù)拼合成一個數(shù)據(jù)。這樣在對它進(jìn)行排序后該數(shù)據(jù)包含了它所在行數(shù)的信息。concatenate函數(shù)int函數(shù)套用是為了把原來的文本變?yōu)閿?shù)字。
在d2單元格輸入公式“=large(c:c,row(a1))”即對b列數(shù)值(包含所在行的信息)按大小排列。
在f2單元格(為了與原始清單分開中間空了一列)輸入公式“=if(d2=0,0,200-right(d2,3))”,函數(shù) right(d2,3)即為d2單元格數(shù)據(jù)的后3位數(shù),用200來減即為此數(shù)據(jù)所在的行數(shù)。
在g2單元格輸入公式“=if($f2=0,0,index($a$2:$b$15,$f2,column(a1)))”,并拖到h2單元格。index函數(shù)為引用函數(shù),即根據(jù)f2單元格所標(biāo)明的行數(shù)在$a$2:$b$15單元格矩陣中引用姓名及得分。
在i2單元格輸入公式“=if(h2=0,0,if(h2=h1,i1,row(a1)))”,本來g、h列就是按得分大小排列的,但可能有平列名次,所以選用上述公式。
最后把c2到i2單元格的公式下拉,程序就完成了。