『重複チェック』(まな) A列にメールアドレスの後にカンマで区切りその後にハンドルネームが 入った物が100ほどあります。 123@asdf.com,まないた 112kj@sdffg.com,いす ee213@asddf.com,くも 123@asdf.com,まないた ・ ・ ・ 改稿できていませんが、縦に並んでいると 仮定してください。 重複しているメールアドレスを削除したいんですが どうしたらいいでしょうか? ハンドルネームも同時に削除したいです。 ハンドルネームが違う場合でも、メールアドレス だけに反応して削除したいです。 その場合はじめのが削除されても 後のが削除されてもいいです。 123@asdf.com,まないた 112kj@sdffg.com,いす ee213@asddf.com,くも ここも縦に並んでいると仮定してください となるように よろしくお願い致します Excel2002 XP です (整形済み) ----   A        B        C アドレス     HN 123@asdf.com,  まないた    =IF(COUNTIF($A$2:A2,A2)>1,NA(),"") 下にフィルコピー 重複が #N/A で表示されます C列が選択された状態で、「編集」「ジャンプ」「セル選択」で「数式」にチェック 「エラー値」以外のチェックを外します 再度「編集」「削除」→「行全体」 ジーコ ---- おじゃまします。 A列に Address,HN 123@asdf.com,まないた 112kj@sdffg.com,いす ee213@asddf.com,くも 123@asdf.com,まないた 112kj@sdffg.com,いすら ee213@asddf.com,くもす ・・・ あったとして(1行目見出しもカンマあり)、 Dictionary オブジェクトで重複カットをするばあいは こんなふうです。 Sub Sheet1_Test() Dim vv, v, i As Long vv = Range("A1", Range("A65536").End(xlUp)).Value With CreateObject("Scripting.Dictionary") For i = 1 To UBound(vv) v = Split(vv(i, 1), ",") 'カンマで Address とHNに分割 .Item(v(0)) = v(1) 'AddressをキーにHNをアイテムに登録 Next Range("C1").Resize(.Count, 2).Value = _ Application.Transpose(Array(.Keys, .Items)) 'シートに貼り付け End With End Sub Address HN 123@asdf.com まないた 112kj@sdffg.com いすら ee213@asddf.com くもす (kanabun) ---- 別スレを立てられたようですが、こちらに関連しているので Excelの一般機能(手作業)での一例です。 1.1行目に新たな行を挿入し、B1に「あ」、C1に「い」などの列見出しを入力 2.A2:A10など元データセルを選択し、データ→区切り位置 3.カンマやタブなど・・・にチェックし次へ  カンマにチェックを入れ次へ  表示先をB2に変更して完了 4.B1:B10を選択して、データ→フィルタ→フィルタオプションの設定  警告が表示されたら「OK]をクリックして次へ進む  重複するレコードは無視するにチェックを入れて完了 5.抽出されたデータのA2:A5を選択して、編集→コピー 6.A10のあたりを選択して編集→貼り付け 7.データ→フィルタ→すべて表示 8.1行目〜9行目を選択して、編集→削除   (Hatch) ---- Hatchはんとしょうとつ〜^^ 行削除版マクロです。    (弥太郎) '---------------------- Sub 削除() Dim dic As Object, i As Long, j As Integer, tbl, x() Set dic = CreateObject("scripting.dictionary") With Sheets("sheet1") tbl = .Range("a1", .Range("a" & Rows.Count).End(xlUp)) For i = 1 To UBound(tbl, 1) If dic.exists(Split(tbl(i, 1), ",")(0)) Then ReDim Preserve x(j) x(j) = .Cells(i, 1).Address(0, 0) j = j + 1 Else dic(Split(tbl(i, 1), ",")(0)) = Empty End If Next i If j > 0 Then Union(.Range(x(0)), .Range(Join(x, ","))).EntireRow.Delete End If End With Set dic = Nothing End Sub ---- ハイレベルすぎてすみません。うまく実行できませんが なんとかA列にメールアドレス(最後にカンマ付き) B列にハンドル名 A列 asd123@ssda.com, B列 武 という風にできました。 あとこれをひっつけたいのですが asd123@ssda.com,武 =A232&C232と言うのではメールアドレスの 最後のカンマが消えてしまいます。 カンマを消さないようにA列とB列の つなげ方をお願い致します。 せっかく教えていただきましのに 本当に失礼いたします。 ごにょごにょでも結構です ---- A232の最後の文字は「,」なのに >=A232&C232と言うのではメールアドレスの最後のカンマが消えてしま うのですか? 本当に「,」が入っていますか? 新しいブックの新しいシートのA1セルに 「asd123@ssda.com,」と【入力】 B1セルにも「武」を【入力】 C1セルに =A1&B1とやった場合、それでも「,」は消えますか? (HANA) ---- セルの書式設定からユーザー定義で@,というほうほうで やったんですが、これは見えているだけで 実際はついていないのでしょうか? よろしくお願い致します。 ---- はい、見えているだけで実際はついていません。 でも、全部についていないのなら好都合です。 =A1&","&B1 の様に「","」も&でつなげてください。 それにしても・・・名前を付けて保存する時に CSVで保存する事とは違うのですかね? CSVで保存すると、各列の値が「,」で区切られて CSV形式で保存されますが・・・・。 区切り文字に「,」を使うけど、ファイルはエクセルのままで 特定の列に表示させておきたいのでしょうか? (HANA) ---- なにをされたいのでしょうか? 「123@asdf.com,まないた」のようなデータが1セルに入っていて、 それのアドレスが重複しないものだけを残したいのではなかったのですか? 区切り位置の2/3でカンマにチェックが入っているので、CSVファイルを開いたら 2セルに分割されたので、こんどは1セルに文字列を結合したいのですか? それなら、区切り位置のカンマのチェックを外した状態にしてから、 CSVファイルを開けばよいはずです。 また、データ数は100程度とのことなのに、数式は「=A232&C232」とかなり下の方になっているし・・・   (Hatch)