こんにちは、ふみです。みなさんは表計算ソフト「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文字以内にするとエラーを回避できる
ありがとうございました。
コメント