• 締切済み

Excelでのデータチェック

Excelで、次のチェックをする方法を教えてください。 あるコード(英数字混在、20桁)に対して必ず1111が紐づいていないといけないのですが、その20桁のコードは一意でなく、1111以外にも2222、3333などが紐づいていることもあります。複数の場合、特に何件存在するかは決まっていません(1111、2222は全部で100種類ほど)。1111が付いていないコードを洗い出したいのですが、どのようにしたらよいでしょうか。

みんなの回答

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.4

Excel2007以降だとして。 (Excel2003までだと重複の削除ができないので別の方法にする必要あり) sheet1シート A列:あるコード B列:紐付きコード C列以下はない sheet2シート 作業用にA列、B列およびD列を利用します。 とすると、 1.B列を、1111でフィルタする。 2.フィルタしたあとで、A列をコピーして、sheet2のD列に貼り付ける。 (B列が1111のA列のみが貼り付けられるはず。) 3.B列のフィルタを解除。 4.A列をコピーsheet2のA列に貼り付ける。 5.sheet2のA列を指定して、重複の削除を実行する。 6.sheet2のB1セルに =vlookup(A1,D:D,1,0)と入力する。 7.sheet2のB1セルをコピーして、Bxx(xxはA列の最終行)まで貼り付ける。 B列に#N/AとでてきたA列の値が1111がないもの。 ※以下は応用って感じ。 式を = if(isna(vlookup(A1,D:D,1,0))=true,"○","") とかにすると、○が出てきた行が対象。 A列とB列をコピーして、sheet3のA:B列へ貼り付けしてB列でフィルタすると、 対象のみになります。など。。。 とりあえず、EXCELの操作のみでできる方法を記載してみました。 ## 使えるレベルが分らないので「フィルタ」って何?とか「重複の削除」ってどうすんの?とか ## ありましたらお礼なり補足なりに記載してください。

  • aoyama984
  • ベストアンサー率45% (253/561)
回答No.3

具体例があるほうがイメージしやすいのでは たとえば どんなデータが どのようにあるのでしょうか 全体の処理件数はどのくらいでしょうか ひもづき 不特定の複数 ということなら データベースソフトの分野になりそうな感じです VBAでもよければADOを利用すれば可能です なるべく実際に近い テストデータを提示してもらえると助かります

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

> あるコード(英数字混在、20桁)に対して必ず1111が紐づいていないといけない その「紐づいている」のルールは何? 20桁うちの特定の場所?たとえば「先頭から5番目~8番目の4文字」とか? EXCELなんだから、作業列をひとつ設けてその「紐づいている」部分のみ切り出して オートフィルタかけるなり、ソートするなりすればよさそう。

noname#198951
noname#198951
回答No.1

付いているコードを洗い出す逆の方法で。

関連するQ&A