excel2010で顧客名簿を作っているのですが、1人で複数のお客様番号がある顧客がいます。複数の異なるお客様番号を持つ顧客のみを抽出しお客様番号に色を付けるにはどうしたらよいですか?
顧客名簿が複数の項目があり30000件くらいあります。
よろしくおねがいします。
A B
氏名 お客様番号
1 青田 1060031
2 秋田 4610012
3 稲尾 1050001
4 遠藤 1040032
5 金井 2200045
6 塚本 3200026
7 東山 2250021
8 青田 100061
9 秋田 9820006
10 稲尾 620020
11 仁志 600041
12 根本 100061
13 野沢 9820006
14 遠藤 1060031
15 豊田 4240005
16 中井 4600008
17 永井 1020082
18 中岡 5400019
19 長島 6520032
20 那須 5330001
No.5ベストアンサー
- 回答日時:
以下のマクロを標準モジュールへ登録してください。
--------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim dicT As Object
Dim dicF As Object
Dim maxrow As Long
Dim row As Long
Dim key As Variant
Dim val As Variant
Dim i As Long
Set dicT = CreateObject("Scripting.Dictionary")
Set dicF = CreateObject("Scripting.Dictionary")
maxrow = Cells(Rows.count, 1).End(xlUp).row
For row = 2 To maxrow
'パターンクリア
Cells(row, 2).Interior.Pattern = xlNone
key = Cells(row, 1).Value
'同一氏名なら、行番号を追加する
If dicT.exists(key) = True Then
val = dicT(key)
ReDim Preserve val(UBound(val) + 1)
val(UBound(val)) = row
dicT(key) = val
'顧客番号が違うなら記憶する
If val(0) <> Cells(row, 2).Value Then
dicF(key) = True
End If
Else
'顧客番号と行番号を記憶
val = Array(Cells(row, 2).Value, row)
dicT(key) = val
End If
Next
'重複した氏名を処理する
For Each key In dicF
val = dicT(key)
For i = 1 To UBound(val)
row = val(i)
'背景色設定
Cells(row, 2).Interior.Color = 5296274
Next
Next
MsgBox ("完了")
End Sub
---------------------------------------------
名前14は同じ顧客番号なので色を付けません。
顧客番号が違うのが1つでもあれば、全ての同じ氏名の人の顧客番号へ色を付けています。
No.9
- 回答日時:
No5です。
念の為、私が提示したマクロをコピペして実行してみましたが、正常に動作しています。
コピペするときに、どこかに漏れがあった可能性があります。
-----------で挟まれた範囲を正しくコピーしてください。(もちろん---------はコピーしてはいけません)
あと、念の為、確認ですが、あなたが提示された例では、1の青田と8の青田の両方のお客様番号に色を付ければ良い訳ですね。
(8の青田のほうのお客様番号だけを望まれている訳ではないですね)
できました。
何かしら間違えてたようで…
ご丁寧にありがとうございました。
>あと、念の為、確認ですが、あなたが提示された例では、1の青田と8の青田の両方のお客様番号に色を付ければ良い訳ですね。
(8の青田のほうのお客様番号だけを望まれている訳ではないですね)
そうです。
また、困ったときはお願いします。
No.6
- 回答日時:
No.4です。
>名前ではなくお客様番号に色をつけたいのです
を見逃していました。
前回はA・B列両方に色を付ける方法でした。
B列を範囲指定 → 条件付き書式 → ・・・中略・・・ → 数式欄の数式を
=AND(COUNTIF(A:A,A1)>1,COUNTIFS(A:A,A1,B:B,B1)=1)
として書式の塗りつぶしから色を選択してください。
※ 前回の数式の「$」マークを消しただけです。m(_ _)m
No.4
- 回答日時:
こんばんは!
横からお邪魔します。
おそらくないとは思いますが・・・
A・B列に万一重複する行があっても対応できるようにしてみました。
A・B列すべてを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=AND(COUNTIF($A:$A,$A1)>1,COUNTIFS($A:$A,$A1,$B:$B,$B1)=1)
という数式を入れ → 書式 → 塗りつぶしから好みの色を選択しOK
こんな感じではどうでしょうか?m(_ _)m
No.3
- 回答日時:
》 名前ではなくお客様番号に色をつけたいのです
失礼しました。
私は早とちりで名前に着色しまたが、同じ行のお客様番号の方に着色すればOKですか?それとも着色行が異なりますか?
改めて眺めると「お客様番号」と称しているのに、名前が異なるのに番号が同じものが3組ある(青田/遠藤、青田/根本、秋田/野沢)けど、どういうことですか?
以上の補足を待って、修正回答をしやうかと。
No.1
- 回答日時:
1)提示された例の場合、
青田さんが、2つのお客様番号を持っているように見えますが、
同姓の青田さんで、実は、別人だったというようなことは、ないですか。同姓なら、同じ人として扱って良いのですか。
2)1行目は見出しで、データは2行目以降から、A列が氏名、B列がお客様番号、であってますか。
3)マクロでなら作成可能ですが、それで良いですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Excel(エクセル) 関数の式を教えてください 2 2022/04/04 11:15
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) accessについて 2 2022/05/31 16:58
- Excel(エクセル) 【マクロ】3つのエクセルブックから1つエクセルブックにお客様番号をまとたい 2 2022/12/08 00:09
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- その他(パソコン・スマホ・電化製品) 楽天モバイルの楽天LINKを使っています。本日、昼前より見知らぬ複数の電話番号から、しつこくかかって 2 2023/08/07 14:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
早速ありがとうございます。
1)青田さんは別人ではなく同じ人です。
2)その通りです。
3)初心者ですので、簡単なマクロでおねがいします。
早速のご回答ありがとうございます。
条件式書式でやってみたのですが、同じお客様番号にも色がついてしまいます。
また、名前ではなくお客様番号に色をつけたいのです。
よろしくご教授ねがいます。
同じ行のお客様番号に着色でお願いします。
提示した表については、適当に作ったものなので…
ご丁寧にありがとうございます。
私のやり方がまずいのか、Elseに対するIFがありませんとエラー表示がでます。
どうしてでしょう?