A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
こんばんは。
なかなか難しいご質問だと思いました。
例えば、「安藤さくら」「安藤 さくら」「安藤 サクラ」
見かけは似ていても、バイナリーでは全部違います。
電話番号も 01 - 1234 - 7890/ 01-1234-7890/01-1234-7890
これらを一般的な方法では同一に扱うことは不可能ですし、真ん中の空白が入っている、入っていないさえ、別ものに扱ってしまいます。住所も含めると、これもパターンで統一の変換しないといけないわけです。
もうひとつ気になるのは、半角・全角の混在で、特にハイフン(-)とと同様の全角・半角文字列や
住所の漢数字とアラビア数字とその一部の全角半角。住所の「番地」「丁目」を入れた書き方とそうでない書き方。
これらを関数ではうまくいくと思えなくなりました。そこで、名前と電話番号ぐらいにして、住所まで入れると逆に精度が落ちるような気がします。また、最低限の置換で、文字列内の全角の空白・半角の空白ぐらいは除去すべでしょうね。
私が昔やっていた方法は、名前が1番で、電話番号が2番でソートを掛けます。
入力がそれぞれの癖があっても、人間の目からは同じか別か判定できるます。2000件程度なら、目でも可能です。削除するものに印を入れていくわけです。
最後に、削除の印をしたものをソートを掛けて削除します。
順番自体を狂わせたくなかったら、インデックスで、1,2,3,...と入れておけば、順番は戻ります。
それと、私は、回答者としてはマクロ専門ですが、さすがに、No.1さんの回答の内容では、どうやってマクロにするのか、分からないですね。曖昧検索をどの程度可能にするかという技術が必要だとは思うのですが、いずれにしても最後は目視による削除しかないように思っています。
No.6
- 回答日時:
添付図が参考になれば仕合せかと。
意味不明ならサヨナラです。
セル G2 に式 =B2&"_"&C2&"_"&D2 を入力
セル F2 に式 =IFERROR(MATCH(G2,G$1:G1,0)-1,"") を入力
範囲 F2:G2 を下方にズズーッとオートフィル
No.5
- 回答日時:
こんにちは
一発では出ないけれど、マクロを使わない方法です。
名前はともかく、住所などは内容が同じでも記述方法がいろいろだったりするので、意味として同じか否かをチェックするのはやっかいだと思いますが…
ひとまず、「まったく同じ文字列か否か」で判断して良いものと仮定します。
(1)D列にA~C列を連結したものを作成します。
(邪魔になる場合は、他の列にしたり、非表示列にしておけば良いです)
例えば、D1セルに
=A1&"§"&B1&"§"&C1
と入力して下方にフィルコピーします。
区切り文字("§")は、住所録に出て来ない文字であれば何でも良いです。
これで、D列の重複をチェックしさえすればよくなりました。
(2)E列に結果を記すものとして
E1セルに
=IF(COUNTIF(D$1:D1,D1)>1,"重複","")
と入力して、下方にフィルコピーします。
この結果、E列には、重複のある行のうち2番目以降に出現する行に「重複」の文字が表示されるようになります。
(重複するもののうち最初に出現する行には何も表示されませんが、多分、それで質問の内容と合っていると思いますので…)
No.4
- 回答日時:
・・・追記・・・
文句を言っちゃダメ。
分からない物を分からないままで済まそうとする態度は褒められたものではない。
ここは、疑問を「自分の力」で解決できるようにするための場所です。
Q&Aってのはそういう物なんですよ。
何かと理由を付けて考えることを後回しにする人が利用する場所ではありません。
No.3
- 回答日時:
D列にA列からC列までの文字列を結合した物を使って、
E列の1行目に
=COUNTIF(D$1:D1,D1)
と入力して、必要な行まで複製する。
でもって、E列に「2」以上の値が表示されたものが重複しているデータ。
No.2
- 回答日時:
No.1です。
> マクロが全くわかりません。
でしたらここで「これで出来ると思うよ」を示しても、実際に動かして不備が有ったりちょっと機能仕様を変えたいところがあっても何もできません。
そもそも全くわからないのであればExcelのマクロの編集画面を開くこともままならなかったり、開けても教わったソースコードをどう入力し、どう実行すればよいかもわからないでしょう。
それを全てこういった掲示板でやりとりして理解するのは現実的ではありません。
ということで身の周りにいるわかる人に依頼しましょう。
そういう人も居ない場合はExcelの該当表を印刷して目視で先に示したチェック(処理手順の「」部分)を行うのが早いでしょう。
データが数千、数万のオーダーですとそれも非現実的ですが。。。
参考まで。
No.1
- 回答日時:
以下のようなマクロを作成して実行します。
機能:
他の行と重複する行が無いかチェックし、有ったらその行のD列に〇印を入れる。
処理手順:
1行目から最終行の1行前の行まで以下の処理を繰り返し行う。
「対象行の顧客名、住所、電話番号を取り出し、対象行の次の行から最終行までそれらと全て同じ値を持つ行がないかを1行ずつチェックし、有ったらその行のD列に〇印をセットする」
マクロの作り方はExcelマクロの入門書で勉強されたり、同様の解説を行っているWEbサイトのページを利用されるとよいです。
また、Excelのマクロ編集画面のメニューバーにある「ヘルプ」も役立ちます。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) 関数の式を教えてください 2 2022/04/04 11:15
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報