• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Excel整理重復(fù)數(shù)據(jù)記錄的方法

    2015-05-30 06:37:08馬紅旭
    中國新通信 2015年19期

    馬紅旭

    【摘要】 文章討論的問題是對具有龐大數(shù)據(jù)量的Excel電子表中出現(xiàn)的重復(fù)記錄,提出了有效的標(biāo)記和刪除辦法。

    【關(guān)鍵詞】 Excel重復(fù)數(shù)據(jù)記錄 標(biāo)記 刪除

    引言

    在對數(shù)據(jù)量比較龐大的Excel電子表維護過程中,我們以管理學(xué)校學(xué)籍?dāng)?shù)據(jù)信息為例,經(jīng)常會遇到這樣一個問題,就是需要查找出同一個工作簿內(nèi)多個不同工作表中,學(xué)號、姓名或者其它字段相同的重復(fù)記錄。要求先把它們顯示出來,然后再用人工或自動方法進行刪除。由于數(shù)據(jù)量很大,人工查找刪除又費時費力,而簡單合并成一個工作表又有可能造成數(shù)據(jù)混亂,所以,這里我們將給出Excel整理重復(fù)數(shù)據(jù)記錄的方法。

    一、Excel數(shù)據(jù)源備份

    為防止數(shù)據(jù)丟失,可以先插入若干工作表,復(fù)制數(shù)據(jù)源所有數(shù)據(jù)在這些表中,使數(shù)據(jù)源得到備份。

    二、查找、標(biāo)記重復(fù)記錄

    打開工作表數(shù)據(jù),我們可以根據(jù)電子表中每個字段名,逐列排查重復(fù)記錄。這里以檢測A列為例,首先在A列右側(cè)先插入一列,得到B列作為標(biāo)記列,然后在B1單元格中輸入公式:=IF(ROW()=MATCH(A1,A:A,0),1,”重復(fù)”),函數(shù)MATCH的作用是對整個A列(A:A)進行查找,如果第一次查找到A1值,則使對應(yīng)B1單元內(nèi)容等于1,如果是第二次或第N次查找到A1值,則在右側(cè)B列標(biāo)記列對應(yīng)單元中寫入“重復(fù)”字樣。

    然后按照記錄個數(shù)需要,向下拖動B1單元右下角的復(fù)制句柄,使B2、B3…Bn得到相應(yīng)的值,Bn單元格中公式內(nèi)容為:=IF(ROW()=MATCH(An,A:A,0),1,”重復(fù)”),其中An依次代表A1到An單元的值。

    而公式中A:A表示檢測整個A列,這里應(yīng)該注意A列數(shù)據(jù)應(yīng)盡量不為空。如果是A列某一段區(qū)域,用戶還可以根據(jù)需要自行修改,比如寫成A2:A10,表示只檢查A2到A10單元的數(shù)據(jù)有沒有重復(fù)。

    這時再仔細觀察新的標(biāo)記列B列所有數(shù)據(jù),它們的值分別為1或者“重復(fù)”字樣,具有“重復(fù)”字樣的記錄,就是我們標(biāo)記的多余重復(fù)記錄,稍后需要用戶刪除。

    當(dāng)然,我們還可以使用COUNTIF()函數(shù),在B1單元格中輸入公式:=IF(COUNTIF(A$2:A6,A6)>1,”重復(fù)”,1),再依據(jù)A列記錄個數(shù)的需要向下拖動B1單元格右下角的復(fù)制句柄,同樣可以達到查找、標(biāo)記重復(fù)記錄的目的,這兩種標(biāo)記方法既簡單又非常有效。

    三、刪除帶有重復(fù)標(biāo)記的所有記錄

    經(jīng)過上述處理之后,所有多余的重復(fù)記錄就都被我們標(biāo)記出來了,接下來的任務(wù)是把所有帶“重復(fù)”標(biāo)記的記錄刪除。由于手工刪除工作量可能太大,又容易出錯,所以這里我們啟動vba,運行如下程序,讓計算機對默認工作表sheet1自動完成刪除多余記錄的任務(wù)。

    Sheet1刪除重復(fù)記錄程序代碼如下:

    Subrt()

    DimiAsInteger

    Fori=10To1Step-1i初值可以取其它值

    IfApplication.WorksheetFunction.CountIf(

    Cells(i,2),”重復(fù)”)ThenRows(i).Delete

    ‘查找同行B列中等于‘重復(fù)值,找到則刪除該行記錄

    Nexti

    End

    另外,稍加修改上述程序,我們就可以對同一個工作簿中其它張工作表(以sheet3為例)中的重復(fù)記錄,進行相同的刪除操作。該程序中還考慮到個別復(fù)雜情況下,用戶有可能對工作表中若干列都進行過重復(fù)記錄標(biāo)記工作,其中某幾列同時做過標(biāo)記才能刪除,這里用戶只需要修改if語句中邏輯表達式即可完全任務(wù)。至此,工作表中所有多余記錄都被刪除,最后刪除標(biāo)記列B列。

    程序代碼如下:

    Subrt()

    DimiAsInteger

    Fori=10To1Step-1循環(huán)

    IfSheet3.Cells(i,4)=”重復(fù)”AndSheet3.Cells(i,5)=”重復(fù)”ThenSheet3.Rows(i).Delete

    ‘查找sheet3中同行第4列和第5列同時等于“重復(fù)”字樣,找到則刪除該行記錄

    Nexti

    EndSub

    四、綜述

    利用上述方法,我們把Excel所有重復(fù)數(shù)據(jù)記錄找出并刪除了,問題得到解決,該方法省時省力,安全高效,對于大型工作表數(shù)據(jù)維護的意義非常重大。

    參 考 文 獻

    [1]譚浩強等編著.VisualBasic語言教程[M].北京:電子工業(yè)出版社,2000.10

    [2]周維武等編著.計算機基礎(chǔ)教程(第3版)[M].北京:電子工業(yè)出版社,2008.

    [3]李飛,廖琪梅,何鑫主編.計算機應(yīng)用新教程[M].西安:西安電子科技大學(xué)出版社,2004.

    会泽县| 鹤峰县| 会泽县| 新源县| 肃宁县| 日照市| 洞口县| 平塘县| 宜君县| 五家渠市| 长阳| 山阴县| 武平县| 浮山县| 务川| 聂拉木县| 新源县| 丹江口市| 崇礼县| 崇文区| 宁夏| 广水市| 平阳县| 合山市| 龙川县| 青田县| 工布江达县| 铁岭县| 奉贤区| 永德县| 南澳县| 武城县| 英超| 襄垣县| 霍林郭勒市| 佳木斯市| 盱眙县| 长岭县| 丹寨县| 巴南区| 海林市|