私はエクセルシートを持っています。
列 E の下に、データを含む 425 個のセルがあります。同じデータ (つまり、セル内のテキスト) が、列 E の下の残りの 424 個のセルの他の場所で繰り返されているかどうかを確認したいのですが、どうすればよいですか?
たとえば、E54 では
Hello Jack
この値がこれらのセルの他のセルにあるかどうかを確認するにはどうすればよいですか?
私はエクセルシートを持っています。
列 E の下に、データを含む 425 個のセルがあります。同じデータ (つまり、セル内のテキスト) が、列 E の下の残りの 424 個のセルの他の場所で繰り返されているかどうかを確認したいのですが、どうすればよいですか?
たとえば、E54 では
Hello Jack
この値がこれらのセルの他のセルにあるかどうかを確認するにはどうすればよいですか?
あなたが使用することができます
=SUMPRODUCT(1/COUNTIF(E1:E425,E1:E425))
E1:425 の一意のセルの数をカウントする
425 という答えは、すべての値が一意であることを意味します。
421 という答えは、4 つの値が他の値と重複していることを意味します。
この数式に基づいて強調表示されるすべてのセルで条件付き書式を使用します。
COUNTIF(E:E,E1) <> 1
これは列が E であることに基づいており、E1 から開始して、それ以外の場合は変更します。
Excel 2010 ではさらに簡単です。条件付き書式設定に移動して選択するだけです。
一意または重複する値のみをフォーマットする
空白のセルを補正する必要がある場合は、上記の @brettdj によって提供された式を使用して、
COUNTIFS の基準引数に長さ 0 の文字列を追加します。
=SUMPRODUCT((E1:E425<>"")/COUNTIF(E1:E425,E1:E425&""))
分子の空白でないセルをチェックすると、空白のセルはゼロを返します。分子がゼロの分数は、分母が何であってもゼロになります。の基準部分に追加された空の文字列は、エラーCOUNTIF
を回避するのに十分です。#DIV/0!
詳細については、SUMPRODUCT() Breakdown を使用した一意のカウント を参照してください。
この数式は、列の値がすべて一意であるかどうかに応じて、「一意」または「重複」を出力します。
{=IF(
SUM(IF(ISBLANK(E1:E425),0,ROW(E1:E425)))
=
SUM(IF(ISBLANK(E1:E425),0,MATCH(E1:E425,E1:E425,0)))
,"unique","duplicates")}
これは配列数式です。囲んでいる {} を明示的に入力しません。代わりに、{} なしで数式を入力してから cmd-enter を押します (または、Mac 以外の場合は何か - 調べてください!) 読みやすくするために数式を複数の行に分割する場合は、マック。
この式は、2 つの SUM() の結果を比較することで機能します。それらが等しい場合、空白以外のすべてのエントリ (数値またはテキスト) は一意です。それらが等しくない場合、いくつかの重複があります。式は、重複がどこにあるかを教えてくれません。
最初の合計は、すべての非空白エントリの行番号を合計することによって得られるものです。
2 番目の合計は、MATCH() を使用して空白以外の各エントリを検索します。すべてのエントリが一意である場合、MATCH() はそれぞれの位置で各エントリを検索し、結果は最初の合計と同じになります。ただし、エントリが重複している場合、後の重複は前の重複と一致し、後の重複は合計に異なる値をもたらし、合計は一致しません。
この数式を調整する必要がある場合があります。
"" を含むセルを空白としてカウントする場合は、ISBLANK(...) に LEN(...)=0 を使用します。必要に応じて他のテストをそこに入れることもできると思いますが、私は試していません。
行 1 から始まらない配列をテストする場合は、ROW(...) から定数を減算する必要があります。
セルの列が膨大な場合、この合計を計算するときに整数オーバーフローが発生する可能性があります。私はそれに対する解決策を持っていません。
Excel に ISUNIQUE() 関数がないのは残念です。
E を強調表示し、ホーム タブで条件付き書式 > セル ルールの強調表示 > 重複値... を選択すると、繰り返されるすべての項目が強調表示されます。
これはより簡単な解決策かもしれません。列 A に問題のデータが含まれているとします。その列で並べ替えます。次に、B2 (または空白でない最初のセル) から始めて、次の式を使用します: =IF(A2=A1,1,0)。
その列の合計よりも。sum = 0 の場合、すべての値は一意です。