Microsoft Excel での重複の検出

Microsoft Excel での重複の検出

セルにテキストとして保存されているシリアル番号を扱ったことがあります。シリアル番号には文字が含まれていることがあるからです。よくわからないことに遭遇しました。重複検出Microsoft Excel では、少なくとも Excel 2007 以降、重複セルを強調表示する方法が用意されています。最初に考えたのは、セルの値がまったく同じかどうかをチェックするということでしたが、次のような例に直面しました。

価値観

これらのセルは「テキスト」値として保存されますが、明らかに同じ値ではないため、重複としてフラグが付けられます。この問題は Excel 2007 と Excel 2010 の両方で発生しました。

これに関して私が考えたことをいくつか挙げます。

  • おそらく、アルゴリズムはテキストの最初の X 文字 (最初の 15 文字?) のみをチェックするのでしょうか、それとも Y 位置をチェックするのでしょうか?

    それでいろいろ試してみたのですが、結局そうではないという結論に至りました

  • テキストタイプにバグがあったのかもしれません

    値の型をいろいろ試してみましたが、うまくいかなかったようです。

  • セルがデータを誤認識した可能性があります

    以前アポストロフィを追加しようとしましたが、機能しませんでした。

  • 重複の定義を誤解しているのかもしれません

これらのセルが重複としてフラグ付けされたのはなぜですか?

答え1

Excel 2016で問題を再現することができました。条件付き書式設定で「重複した値」オプションを使用しようとすると、またはいくつかの数式(例COUNTIF(A$1:A$5,A1)>1:)。

この問題は、シーケンスに文字を追加した瞬間に解消されます。つまり、テキストとしてフォーマットされているにもかかわらず、Excel は数値シーケンスをある時点で数値として解釈し、桁数が 15 桁を超えているため、比較を行うために丸め処理を行っていると考えられます。

長さに関係なく、厳密に数値シーケンスに機能する条件付き書式の数式を次に示します。

=SUMPRODUCT(--(A$1:A$5=A1))>1

関連情報