2017-09-08 22 views
1

これを最もうまく行う方法を見つけようとしています。私は約44の列と約64,000の行を持つシートを持っています。列には、名前、生年月日、電話番号、電子メールなどのさまざまな顧客データポイントがあります(これらは私の目的にとって最も関連性の高い列です)。私は、少なくとも3つの列データポイントが一致する行を並べ替えたり強調表示したりして、顧客の重複レコードを表示することができないかと考えていました。私は、少なくとも3列に基づいて重複している行をハイライトしたい、明確に説明するために、例えば2つ以上の列に重複した値を持つ行を強調表示する方法

(名前欄(定数)と電話番号またはDOBまたは電子メールのいずれかを。):

上記の中で、John SmithはDOBのみに基づいてマッチしました。リサの冬は電子メールに基づいており、ステファニーライトはDOBと電子メールの両方に基づいています。

私はそれをさらに見ているので、3つではなく2つ以上の列に一致するように、姓と名が1つの列に結合されます。

私はスーパーユーザーに投稿しましたが、私が得たものはすべてスタートのように見えるcountifsでしたが、 "and、or"ロジックも組み込む必要がありますか?

具体的な数式のヘルプは大歓迎です!

+0

Use Duplicates – Sixthsense

答えて

0

ただ、比較のために、これは完全な結果に

=SUMPRODUCT(($A2<>"")*($A2=$A$2:$A$10)*($B2=$B$2:B$10)*SIGN((($C2=$C$2:$C$10)+($D2=$D$2:$D$10)+($E2=$E$2:$E$10))))>1 

を与えるんが、それは、データの64K行で遅くなることができ、アレイ型アプローチであるだろうが、これはすべてのテストデータが最初の5つの列にあり、姓が空白の行は除外していると仮定して、DOB、電話、電子メールのいずれかで現在の行と一致するものが複数あるかどうかを確認します。適する範囲を調整する。

これは64K行では遅すぎます。もう少しよく使うのはSUMIFSです

=(COUNTIFS($A$2:$A$64000,$A2,$B$2:$B$64000,$B2,$C$2:$C$64000,$C2) 
+COUNTIFS($A$2:$A$64000,$A2,$B$2:$B$64000,$B2,$D$2:$D$64000,$D2) 
+COUNTIFS($A$2:$A$64000,$A2,$B$2:$B$64000,$B2,$E$2:$E$64000,$E2))>3 
+0

Tom、上記の式は64k行で動作しましたが、#VALUEとして表示されます!フルスプレッドシートで、私がコピーするときに。私はただ待たなければならないのか、それとも何か問題がありますか?私はそれがちょうど64kの行を処理することができないと思っている... – JNC

+0

残念なことに、それは動作しません(または少なくともあまりにも長くかかる)64K行と - 何かのような何かの10倍乗算。私はSUMIFSを試してみましたので、姓、名、DOBはCOUNTIFS(A $ 2:A $ 64000、A2、B $ 2:B $ 64000、B2、C $ 2:C $ 64000、C2)> 1あなたはそれらを組み合わせることができます。 –

+0

それは働いた! Tomさん、ありがとうございました。あなたは最高です! – JNC

1

データは名前でソートする必要があります。バイナリが重複しているかどうかを示す余分なヘルパー列を作成します。

あなたは単に似F2に式を使用することができます。これは、両方の最初と最後の名前に基づいて、上記の行の重複しているもののためにあなたに列Fで1点のを与える

=IF(AND($A2=$A1,$B2=$B1,OR($C2=$C1,$D2=$D1,$E2=$E1)),1,0)

、および少なくとも1つの他の列。必ずしも重複を示すわけではないので、これは完全に理想的な状況ではありません。たとえば、次のようになります。

同じ名前のエントリが3つあり、最初のフィールドには他のすべてのフィールドが表示されます。 2番目のエントリは名前と電子メールのみです。そして、最初のエントリに一致すると見なされます。 3番目のエントリは名前とDOBのみを持ち、2番目のエントリと一致するとはみなされません。名前だけが一致するためです。

これを回避するには、INDEX(MATCH())を使用する必要がありますが、特に64Kエントリで再帰的に使用する場合は、PCの負担が軽いです。 @Luuklagが正しく言うよう

+0

Thanks Luukag私は同じ名前の2つ以上で現れるかもしれない問題を見ることができます。私はもう少し考えたので、列a、b、cを結び、dupを並べ替えることができます。次に、a、b、d、a、b、eについても同じことをします。その後、dupsを新しいシートにコピーします。面倒ですが、ナビゲート/理解するのが最も正確で簡単ですか? – JNC

+0

または私のアプローチに従うことができます。次に、私が書いた数式の**値**をコピーし、それに基づいてソートします。別のシートに重複して示されているものをすべて削除し、手順をもう一度行います。必要ならば、すべてのゥーピが消えていることを確認してください。 – Luuklag

関連する問題