方法如下:
先制作空表格:把本文所附的只有2行的表頭打開(kāi),下拉菜單“編輯”、點(diǎn)擊“定位”在引用位置欄輸入“B2:H1001”、按“確定”、再下拉菜單“編輯”、點(diǎn)擊“填充”、“向下填充”空表格制作完成。(這是大量填充單元格的最快方法)。然后把姓名清單從A2單元格開(kāi)始拷貝至A列。這樣檢索程序操作就完成了。用該檢索程序,在奔III 733機(jī)器上1秒鐘內(nèi)便完成了783人的重名檢索。
下面簡(jiǎn)單介紹B2至H2單元格的公式,B2單元格“=IF(A2=0,0,SUBSTITUTE(A2," ",""))”中SUBSTITUTE函數(shù)是去掉A2單元格中的名字的前、后、中間的空格,C2單元格“=IF(B2=0,0,IF(ISERROR(VLOOKUP(B2,B3:B$1001,1,FALSE))=TRUE,0,ROW(A1)))” 中ISERROR(VLOOKUP(B2,B3:B$1001,1,FALSE))=TRUE,0,ROW(A1))即如在B3到B1001單元格中找不到與B2相同的姓名時(shí)為零,否則為從第1個(gè)姓名開(kāi)始計(jì)數(shù)的行數(shù)。意即B3往下有重名時(shí)標(biāo)明行數(shù),否則為零。D2單元格“=LARGE(C:C,ROW(A1))”就是把重名所在行的行數(shù)從大到小進(jìn)行排列。E2單元格“=IF(D2=0,0,INDEX(B$2:B$1001,D2))”就是在B列根據(jù)D2單元格標(biāo)明的行數(shù)查找重名的姓名。F2單元格“=IF(E2=0,0,IF(ISERROR(VLOOKUP(E2,E3:E$1001,1,FALSE))=TRUE, ROW(A1),0))”與C2單元格的公式相似,只是根據(jù)條件取舍相反。即讓已檢出的重名只出現(xiàn)一次。G2單元格的公式“=IF(ROW(A1)>COUNTIF(F:F,">0"),0,INDEX(E$2:E$1001,LARGE(F:F,ROW(A1))))” 就是對(duì)F列標(biāo)明的行數(shù),按大到小進(jìn)行排列并在E列查找重名的姓名。H2單元格的公式“=IF(G2=0,0,COUNTIF(B:B,G2))”就是對(duì)B列在G列列出的重名進(jìn)行計(jì)數(shù)。下表為工作表的前三行。
此程序稍作改變便能用來(lái)統(tǒng)計(jì)姓氏的頻數(shù)與頻率。
方法如下:
先制作空表格:把本文所附的只有4行的表頭打開(kāi),用上述方法填充B4:l1002單元格.再把姓名清單從A3單元格開(kāi)始拷貝至A列。這樣姓氏的頻數(shù)與頻率統(tǒng)計(jì)程序操作就完成了。下表為工作表的前五行。
用該程序?qū)P者所在單位783人統(tǒng)計(jì)有160個(gè)姓氏,張姓最多有95人出現(xiàn)頻率為12.1%。樣本太少不具全國(guó)姓氏的頻數(shù)與頻率統(tǒng)計(jì)上的意義,但似乎張姓為中國(guó)第一大姓。B到F列的公式與重名檢索工作表的公式極相似,G到K列的公式在筆者的“排序與篩選”一文中有詳細(xì)說(shuō)明。
筆者在奔III 733計(jì)算機(jī)上制作一張統(tǒng)計(jì)10000人姓氏頻數(shù)與頻率的空表需時(shí)6分37秒,復(fù)制這樣一張空表瞬時(shí)就能完成,在空表上填充10000人的姓名后統(tǒng)計(jì)姓氏頻數(shù)與頻率的時(shí)間為2分42秒。填充完后文件大小為4996k。筆者所以測(cè)試以上時(shí)間是筆者有一個(gè)強(qiáng)烈的愿望:把程序用于全國(guó)千分之一到萬(wàn)分之一抽樣人口即12萬(wàn)到120萬(wàn)人的姓氏頻數(shù)與頻率的統(tǒng)計(jì)。筆者在此請(qǐng)求網(wǎng)友支持,提供你能到的某一群體人員的姓氏或姓名樣本,和所在省市。筆者每收集到1萬(wàn)個(gè)樣本便在網(wǎng)站公布一次姓氏頻數(shù)與頻率的統(tǒng)計(jì)結(jié)果。
我的Email地址:wenou@public3.bta.net.cn
點(diǎn)擊此處下載示范工作簿