advanced help
per page, with , order by , clip by
Results of 0 - 1 of about 0 (0.000 sec.)
[[20020903210657]]
@digest: 2ccd1fc3f4cda5e919de345f2a8c1aa0
@id: 479
@mdate: 2003-04-29T06:43:58Z
@size: 5640
@type: text/plain
#keywords: namedatacnt (44633), namecnt (43943), markcol (37794), ufsearchname (29755), namedata (27437), namecol (26829), ndat (21640), 郎” (16799), 20020701122019 (15630), 尋尋 (15368), 尋00 (15368), 名分 (7804), シダ (7500), 中太 (5909), ブリ (4420), ー→[ (4369), ヨシ (4067), ロ( (3426), 別人 (2970), シニ (2597), ニア (2441), maxrow (2272), ダブ (2264), integer (1945), ル] (1886), 重複 (1710), 膨大 (1397), る名 (1369), 降順 (1250), 削除 (1243), function (1241), 番目 (1142)
『重複している名前を2名分とも削除したい』(ひゆ)
ここに書き込むのは2度目になります。 どうぞ、宜しくお願い致します。 膨大な量の名前があります。 あいうえお順でもなくバラバラで2万件ほどあります。 この膨大な量のデータの中から重複している名前を 削除したいのです。 例えば、5行目に“田中太郎”、500件目に“田中太郎”とあったとしても、 画面をスクロールしていくか、昇降順にして並べかえでも しなければ、そこに“田中太郎”が2名分あることはわかりませんよね? そこで初めて2名あることが分かり、5行目と500行目を 削除するという・・・・・。 そんな手作業で1名づつ削除していくのは気が遠くなる様な作業です。 重複している名前を2名とも、もしくは3名、4名とデータ中には 存在しているかもしれませんので、もう少し効率よくできる、 何か良い方法はないでしょうか? どうぞ、宜しくお願い致します。 ------- [[20020701122019]] 『選択範囲にある重複した文字列に色をつけたい』(ヨシダ) 尋さんの条件式を参考に案内した例があります。 参考にして下さい。 (シニア) ----------- [[20020701122019]] 『選択範囲にある重複した文字列に色をつけたい』(ヨシダ) のケースも参考になりました。 が、この場合2名分同じ名前が見付かったとしても1名分しか色付け されませんよね? 私の場合、2名分とも削除してしまいたいのです。 3名分、重複していたりもするので、手作業でやっていくと、 昇降順に並べ替えたりして目で見て、探して確認して削除と。。。 果てしない工程の繰り返しなので、何か良い方法は無いでしょうか? 度々、すみませんが宜しくお願い致します。(ひゆ) ---- 例えば、重複セルがB2以降であれば、B2を選択し、Shift+End+↓で範囲を選択後 「条件付き書式」で「数式が」「=countif($B$2:B2,B2)>1」【書式】でパターン色をしていすれば 同一人が3データの時最初のデータは1、2番目のデータは2、3番目のデータは3になります。 条件式が1より大きい場合ですから、2番目、3番目のデータに色がつきます。 従って、着色されたセルを削除すればよいことになります。 B列の右隣に列挿入して、=countif($B$2:B2,B2) の式を入力し、 このセルのフィルハンドルをダブルクリックすれば一瞬に式がコピーされます。 この列を昇順に並べ替えれば、2以上のデータは重複していることになります。 削除する場合に同姓同名の方には注意して下さい。 同一人であっても入力データが違う場合があります。名前の前後に空白があったり、 途中の空白が全角1文字と半角2文字では別人になってしまいます。 TRIM関数で空白は補正できますが、文字違いの渡辺と渡邊は別人扱いです。 データーの統一がなされて入れば正常に機能します。 (シニア) ---- こんばんは 「重複データは全て削除」ですと どういったデータを削除したか記録に残りませんが良いのでしょうか? マクロでやれば可能なように思いますが・・・・・・・ (尋) ------ 尋さんこんばんは 尋さんには毎回フォローして頂き、大変助かっています。 私もマクロ処理プログラムの記述を勉強中なので、是非紹介して下さい。 お願いします。 (シニア) ---- データがダブっているものをすべて見つけるExcel-VBAです。 (1)下のVBAを丸ごと(Dim からEnd Functionまで)コピーします (2)[ツール]メニュー→[マクロ(M)]→[VisualBasicEditor(V)]を選択 (3)[挿入(I)]メニュー[標準モジュール(M)] (4)白い画面になります (5)白いとことの一番上をクリックして[貼り付け]します。 (6)[ファイル]メニュー→[終了してMicrosoftExcelに戻る]を選択 (7)Excelのワークシートに戻ります (8)[ツール]メニュー→[マクロ(M)]→[マクロ(M)]でDuplicateScratchを選択 (9)実行ボタンを押す。 少し長いVBAですが、これで、A列にある名前をすべて調べてダブっている場合 B列にダブっていますのマークがつきます。 あとはダブリのところで[並べ替え]ればらくらく削除ができます。 <実行結果> 名前 ダブリ ひゆ kazu kazu001 尋 尋001 kazu kazu002 尋 尋002 kazu kazu003 kazu kazu004 シニア naka naka001 naka naka002 たぬき (kazu) Dim nameData(10000) As Variant, nameDataCnt(10000) As Integer Dim nameCnt As Integer Sub DuplicateScratch() ' データのダブリを見つける 2002/09/07 Create By.kazu Dim maxRow As Integer, r As Integer, ndat As Variant, k As Integer Dim m As Integer Dim nameCol As Integer, markCol As Integer nameCol = 1 '対象データはA列 markCol = 2 'マークをつけるのはB列 ActiveSheet.Cells(1, nameCol).Select ActiveSheet.Cells(1, markCol) = "ダブリ" Selection.SpecialCells(xlCellTypeLastCell).Select maxRow = Selection().Row nameCnt = 0 For k = 0 To maxRow nameData(k) = "" nameDataCnt(k) = 2 Next k For r = 2 To maxRow ndat = ActiveSheet.Cells(r, nameCol) If Len(ndat) > 0 Then ret = UFsearchName(ndat) If ret > 0 Then ActiveSheet.Cells(r, markCol) = _ ndat & Format(nameDataCnt(ret), "000") If nameDataCnt(ret) = 2 Then For m = 2 To r If ndat = ActiveSheet.Cells(m, nameCol) Then ActiveSheet.Cells(m, markCol) = ndat & "001" Exit For End If Next m End If UFcntUp (ret) End If Else Exit For End If Next r End Sub Function UFsearchName(indata) Dim k As Integer UFsearchName = 0 For k = 0 To nameCnt If indata = nameData(k) Then UFsearchName = k Exit Function End If Next k nameCnt = nameCnt + 1 nameData(nameCnt) = indata End Function Function UFcntUp(no) nameDataCnt(no) = nameDataCnt(no) + 1 End Function ----- kazuさん早速マクロ紹介して頂き有難う御座います。 VBA以前のBasicを思い出しながら、VBAに挑戦します。 今後共宜しくご指導の程お願いします。 (シニア) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200209/20020903210657.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97045 documents and 608224 words.

訪問者:カウンタValid HTML 4.01 Transitional