【Excel関数】255文字を超えるセルの重複データを全て除外する方法

Windows PC

こんにちは、ふみです。みなさんは表計算ソフト「Microsoft Excel(エクセル)」で COUNTIF関数を使って #VALUE! エラーが発生したことはありますか?

私はテキストデータから重複データを除外する為、対象のデータをExcelにコピー&ペーストしてから COUNTIF関数を使ったところ、#VALUE! エラーが発生してしまいました。

そこで、今回は #VALUE! エラーを発生させずに COUNTIF関数を使う方法を紹介します。

COUNTIF関数で #VALUE! エラーが発生する主な原因

Microsoft のサポートページを確認したところ、 #VALUE! エラーが発生する一般的な原因は次のとおりでした。

  • 閉じたブック内のセルまたは範囲を参照する
  • 文字列が255文字より長い

私の場合は COUNTIF関数の対象になっている文字列が400以上あったので、「文字列が255文字より長い」ことが原因でエラーが発生していたことがわかりました。

255文字以内のセルの重複データを全て除外する

まずは255以内のセルの重複データを全て除外する方法を紹介します。

1.
セルA1 に空のエクセルシートに加工するデータを貼り付ける。

2.
セルB1 に次の数式を入力する。

=COUNTIF(A$1:A1,A1)

3.
セルB1 をドラッグ&ドロップで下までコピーする。

4.
セルB1 を選択後、「Ctrl + Shift + L」を押してオートフィルターを設定する。

5.
セルB1 のフィルターボタンをクリック > チェックボックスから 1 以外を全て外す

6.
重複データが除外され、排他的なデータが表示される。

これで、A列全体をコピーすると、重複部分が除外されたデータとして活用することができます。

255文字を超えるセルの重複データを全て除外する

COUNTIF関数をそのまま使うと #VALUE! エラーが発生する(255文字を超える)場合のセルの重複データを全て除外する方法を紹介します。

1.
セルA1 に空のエクセルシートに加工するデータを貼り付ける。

2.
セルB1 に文字数を255文字以内にする数式を使って対象の文字列から重複を調べる範囲(全てのデータで共通している文字列を除外した範囲)を抽出するように設定する。

抽出例1.重複を調べる範囲が左から255文字を抽出する場合

=LEFT(A1,255)

抽出例2.重複を調べる範囲が右から255文字を抽出する場合

=RIGHT(A1,255)

抽出例3.重複を調べる範囲が182番目の文字から182文字を抽出する場合

=MID(A1,182,182)

3.
セルC1 に次の数式を入力する。

=COUNTIF(B$1:B1,B1)

4.
セルB1 とセルC1 を選択後、ドラッグ&ドロップで下までコピーする。

5.
セルC1 を選択後、「Ctrl + Shift + L」を押してオートフィルターを設定する。

6.
セルC1 のフィルターボタンをクリック > チェックボックスから 1 以外を全て外す

7.
重複データが除外され、排他的なデータが表示される。

これで、A列全体をコピーすると、重複部分が除外されたデータとして活用することができます。

まとめ

  • COUNTIF関数は閉じたブック内のセルまたは範囲を参照すると #VALUE! エラーが発生する
  • COUNTIF関数は文字列が255文字より長いと #VALUE! エラーが発生する
  • 255文字より長い文字列に COUNTIF関数を使うときは参照先のセルを MID関数等で255文字以内にするとエラーを回避できる

ありがとうございました。

コメント

タイトルとURLをコピーしました