人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

リストの重複が入力時に判別できる方法を教えてください。

今、エクセルで条件にあったホームページのリストを作っています。

URLとメールアドレスの重複がチェックできるように

=IF(COUNTIF($E$2:E2,E2)>1,"*","")

という関数を使って重複しているデータに*がつくようにしているのですが、3000件を越えたあたりから再計算に時間がかかって仕方がありません。

入力した時点で重複が快適に分かる方法ってないでしょうか。

最後に一覧で見られれば、エクセル以外のソフトを使ってもOKです。

よろしくお願いします。

●質問者: takllin
●カテゴリ:コンピュータ インターネット
✍キーワード:E2 URL エクセル ソフト データ
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● ohmix1
●20ポイント

重複をチェックするEXCELアドインがありました。

入力した時点ではわからないので、ダメでしょうか?


http://hp.vector.co.jp/authors/VA011407/vbasoft/DupCheck/rea...

◎質問者からの返答

ありがとうございます。

出来れば入力した時点で分かったほうがベターです。


2 ● gong1971
●20ポイント

入力規則を使われてはいかがでしょうか?


  1. E2をアクティブセルとし、E2:E3000(必要行まで)を範囲選択します。
  2. [データ]メニューから[入力規則]をクリックします。
  3. [設定]タブで[入力値の種類]を[ユーザー設定]とします。
  4. [数式]に =COUNTIF($E$2:E2,E2)<2 と入力し、[OK]をクリックします。

これであれば、該当セルを入力する時に、その値だけチェックを行います。

逆にいままでの方法ですと、該当セルに限らずどのセルに入力しても

数式が再計算されるので、設定したセルの数(3000)だけ再計算が行われ

非常に時間が掛かってしまいます。

◎質問者からの返答

ありがとうございます。

うーん、コピーペーストで入力すると反応してくれないです。。。


3 ● hokuraku
●20ポイント

入力した都度、ではないのですが「最後にまとめて見られれば…」というのに当たるでしょうか?

1)ID用に1列作成し、通し番号をつける。

2)url(or mail address)で並び替えをする

3)空いている列のあたまに以下の関数を入れる

=if(E1=E2,"*","")

つまり、ひとつ上の行のものと比べて同じなら*をつける。

4)関数列をコピーし、「形式を選択して貼り付け>値」

5)ID列で並べ替えをして元の順序に戻す

元の順番を保持する必要がなければ2,3のみでOKです。

データを蓄積し、週に一度程度確認する、という程度なら十分実用的でした。

◎質問者からの返答

ありがとうございます。

日々リアルタイムなので、すぐ見れるほうがいいですね。


4 ● hokuraku
●20ポイント

ではもうちょっと頑張ってみましょう。

urlの入っている列をE列とします。

1)「データ」>「ピボットテーブル」でE列のピボットテーブルを作ります。

2)ピボットテーブルのレイアウトは左側にurl、データ部分はurlの個数にします。

(ピボットの行をSheet2!A、データ部分をSheet2!Bとします)

3)*をつけるチェック列に以下の関数を入れます。

=if(vlookup(E2,Sheet2!A:Sheet2!B,2,false)>1,"*","")

4)オートフィルをかけて最終行まで伸ばします。

5)確認するときは

5?1)urlを入力した後

5?2)ピボットテーブルの更新をする

と言う手順になります。

どうでしょう?データの種類によりますが、少しは再計算が速くならないでしょうか?

◎質問者からの返答

ありがとうございます。

うーん、あんまり変わらないような。。。


5 ● gong1971
●20ポイント

回答 2 の者です。他の方法を検証してみたところ、[条件付き書式]が良いようです。

コピーペーストにも対応しますし、計算に時間も掛かりません。


■前提条件


■設定方法

  1. F2をアクティブセルとし、F2:F3000を範囲選択します。
  2. [書式]メニューから[条件付き書式]をクリックします。
  3. [数式が][=COUNTIF($E$2:E2,E2)>1]と設定する。
  4. [書式]ボタンをクリックし、[パターン]タブで適当な色を選択。
  5. [OK]を2回クリックしダイアログを閉じる。


以上、こちらでも検証しましたが、IF関数を使用した場合より

明らかに高速になっており計算時間は感じられませんでした。

◎質問者からの返答

ありがとうございます。

結構早いですね。

あとはオートフィルタなどで重複データを一括削除できればカンペキなんですが。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ