[[20060921231356]] 『別シートにある同内容の行を削除したい』Excel2003(もっちゃん)  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートにある同内容の行を削除したい』Excel2003(もっちゃん)

シート1

紙ベースの台帳(表)をエクセルでデータ化しました。
A列にページ番号、B列に行番号、C列以降は個別の情報が入り40列ほどあり、
行は3万行ほどです。
A列とB列の2列で、初めて各行の個別番号が成立します。

シート2

そのうち一部の行をコピーして、シート2を作成しました。
1000行ほどです。

当然シート1の中に、シート2と同内容の行が存在しているわけですが、
質問はシート2と同内容の行をシート1から削除する方法です。
どうぞ宜しくお願いします。


 一度きりの作業なら

 シート1のA列を挿入して作業列を作ります。
 A1=MATCH(B1&C1,Sheet2!$A$1:$A$1000&Sheet2!$B$1:$B$1000,FALSE)
 を入力して、【Ctrl+Shift+Enter】 で確定して下さい。
 数式が { } で囲まれたら、必要行フィルドラッグ。
 シート2にデータがある場合は数字が表示されます。
 (無い場合はエラー値)

 データ→フィルタ→オートフィルタ
 A列のオプションで 「#N/A と等しくない」
 として、表示された行を削除。
 オートフィルタを解除。
 作業列(A列)を削除。

 でどうですか?

 数式が重かったら、作業行を増やしてキーになるデータをつくって
 LOOKUP関数を使った方が良いかもしれませんが・・・。

 (HANA)

HANAさん、さっそくありがとうございます。
もともと他列にも数式が入ったものが多いので、
既にかなり重いファイルになってます。
もし良ければ、LOOKUP関数のやり方も教えて下さい。

(もっちゃん)


 ↓が参考になりそうですが、いかがでしょう・・・(Hatch)
[[20060830080148]]『2シート間での重複データの削除』


 何にせよ、キーになる番号は振っておいた方がよさそうですね。

 Sheet1にA〜C列を挿入して
 A1=D1&E1
 B1=Sheet2!A1&Sheet2!B1
 としたら
 C1=VLOOKUP(A1,B:B,1,0)
   (エラー値以外が重複有り)
 なり、リンク先のCOUNTIFを使うなら
 C1=COUNTIF(B:B,A1)・・又は・・COUNTIF(B:B,A1)=0
   (O以外が重複有り)           (FALSEが重複有り)

 でどうですか?
 すこしは軽いですかね?

 (HANA)

HANAさん、Hatchさんありがとうございます。
すぐ仕事にとりかからないといけなかったので、
HANAさんの「1度きりの作業なら」のMATCH関数でやってみました。
重かったので時間はかかりましたが、私がしたいことをほぼ完璧にできました!

ただ1000件中、20件ほどが重複していないのにも関わらず
(シート2にはない)、
#/NAにならず、数字がついてたんです。

20件ほどの誤差は構わない作業だったので問題ありませんが、
原因がわかりません。
もし思いつかれるようなことがあれば今後のために教えて下さい。

ちなみにMATCH関数を使って出てきた数字ってどういう規則性なんですか?
作業には関係ありませんが不思議な数字だなとぁと興味あり。。。


 >重複していないのにも関わらず、#N/Aにならず、数字がついてたんです。
 何でしょうかね?
 そのデータを見てみないと分からない
 (見ても分かるかどうか分からない)が私の現状です。

 計算途中に茶々を入れると、エクセル君は計算を投げてしまう様ですが
 そんなことではないんですよね?

 >ちなみにMATCH関数を使って出てきた数字ってどういう規則性なんですか?
 たとえば、こんな小さなサンプルだったら何の数字が出ているのか分かりますか?
	[A]	[B]	[C]	[D]	[E]
[ 1]	番号	データ		検索	結果
[ 2]	1	い		い	1
[ 3]	2	ろ		へ	6
[ 4]	3	は		と	7
[ 5]	4	に			E2=MATCH(D2,$B$2:$B$13,FALSE)
[ 6]	5	ほ			として、E3までコピー。
[ 7]	6	へ			
[ 8]	7	と		検索	結果
[ 9]	8	ち		い	2
[10]	9	り		へ	7
[11]	10	ぬ		と	8
[12]	11	る			E10=MATCH(D10,$B$1:$B$13,FALSE)
[13]	12	を			として、E12までコピー。

 (HANA)

検索値を範囲指定の上から数えて出た数字なんですね。
HANAさんありがとうございます。
お陰様でスッキリしました(^0^)
(もっちゃん)

 その通りです。スッキリ出来たようで良かったです。

 ちなみに、「配列数式はデータ量が多いと重い」と言われるのですが
 そこまで多くのデータ量を扱うことがもう無いので実際はどうなのか
 私はよく分かっていません。
 そこで、「キーになる番号を振って於いて・・・」の方法をやってみて
 計算にかかる時間が短いかどうか、教えてもらいたいのですが。

 お時間があればで良いので、よろしくお願いします。

 (HANA)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.