[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『重複チェック(関数のみ)』(くろ)
大文字/小文字を区別しない部分重複チェックであれば、
B列に以下の計算式で重複確認できます。
=IF(COUNTIF(A:A,"*"&A1&"*")>1,"重複","")
しかし、大文字/小文字は別データとして扱うため、
以下と同種の形で(EXACT関数など組み合わせて)
処理可能でしょうか?
(条件)
・データの加工は無し
・使用する関数は何でも可能(VBAは不可)
・データの文字数もランダム、データ量は数千〜数万レコード
(データ)
A列
BLACK
BLACK+Red
Black
black
BLUE
BLUE/SILVER
Blue
RED
Red
SILVER
SILVER[black]
Silver
宜しくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
=IF(1<SUMPRODUCT((EXACT(A:A,A1))*1),"重複","")
(???) 2016/05/13(金) 18:03
出力判定結果は以下を想定しています。
=IF(COUNTIF(A:A,"*"&A1&"*")>1,"重複","") に
大文字/小文字区別となると以下となる想定。
(データ)
A列 B列
BLACK 重複
BLACK+Red
Black
black 重複
BLUE 重複
BLUE/SILVER
Blue
RED
Red
SILVER 重複
SILVER[black]
Silver
(くろ) 2016/05/13(金) 18:34
10万件で16分ちょっと。
=IF(SUMPRODUCT(LEN(A$1:A$100000))-SUMPRODUCT(LEN(SUBSTITUTE(A$1:A$100000,A1,"")))>LEN(A1),"重複","")
追記 PCは四年ほど前のデスクトップ。 (ねむねむ) 2016/05/13(金) 19:51
やはり、10万行あれば、大変ですねぇ。 くろさんは、いやがってますけど、12万行のデータを作ってVBAで、ちょこちょこっと書いてみたんですけど、やはり4年ほど前のデスクトップで 4分半ほどかかりました。
(β) 2016/05/13(金) 21:50
=IF(SUMPRODUCT(LEN(A$1:A$100000)-LEN(SUBSTITUTE(A$1:A$100000,A1,"")))>LEN(A1),"重複","") でもいいか。 もっとも時間のほうは10万件で1分程度しか短くならなかったが。 (ねむねむ) 2016/05/14(土) 13:18
B1 =IF(A1="","",IF(COUNT(INDEX(FIND(A1,A$1:A$100000),))>1,"重複",""))
※時間は計ってまへん。 (GobGob) 2016/05/16(月) 11:12
件数の件は10万行は稀ということと、あまりexcelを使用しない方に使用して頂くこと、その他諸事情含めて・・・でしたので完璧でした!
なるほど!というご回答で勉強になりました。
皆様、ありがとうございました^^
(くろ) 2016/05/16(月) 11:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.