- 締切済み
重複データの抽出→編集
A列に同じ工事番号(001が複数、002が複数・・・)、B列に工種番号(050101・・・)、C列に図面番号(1・2・3・・・)があります。まず最初に同じ工事番号を抽出します。図面番号がちがっても工種番号が同じのがあります。仮に下記のようだとします。(>はセルの区切りの意味です) 処理前 B工種番号>C図面番号 050101>1 050101>2 050102>2 050102>3 050103>3 この場合、処理として 処理後 工種番号>図面番号 050101>1 050102>1 050103>1 050101>2 050102>2 050103>2 050101>3 050102>3 050103>3 というように、違う図面番号に同じ工種番号がある場合、重複してない工種番号をそれぞれの図面番号に加えます。処理前の図面1と3は同じ工種番号はないですが、図面2の工種番号がそれぞれ1と2で重複するので、図面1と3にそれぞれ工種番号を加えなければなりません。 これを自動で行うことはできないでしょうか。件数にして1万件くらいあります。個別に見てコピペしてだと、かなり間違ってしまいます(漏れがあるので)。データの切り出しを行って違うシートに貼り付けしまた返してくるマクロだといいと思うのですが・・・。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
(1)こう言う実務に絡んだ質問の場合、専門用語が出てくると、非常に門外漢には理解しづらいです。判りやすく 「違う図面番号に同じ工種番号がある場合、重複してない工種番号をそれぞれの図面番号に加えます。処理前の図面1と3は同じ工種番号はないですが、図面2の工種番号がそれぞれ1と2で重複するので、図面1と3にそれぞれ工種番号を加えなければなりません。」のあたりを説明していただけませんか。 図面番号と工(事)種(類)番号とどちらを主にして説明したら良いのだろう。 (2)エクセルVBAの場合は、同じものを探すのは、(A)1行1行総なめに聞く(判別する)か、(2)Findを使うか、(C)Queryと言うアクセスもどきをエクセルに導入するかになります。(C)はやや高等なので(A)など使うと 数万件という総データ量がこたえてきます。 (3)本作業はバッチ作業=一旦入力作業を止めて、1日1回とか行うまとめ単位の作業で良いのでしょうか。 その反対は即時反応を希望する処理です。バッチ作業だと ソートの多用が出来ますので処理形態を大きく左右します。
- whitepepper
- ベストアンサー率27% (683/2442)
まさにデータベースですね。 》件数にして1万件くらいあります。 うーん……。Excelの守備範囲を超えていますね。今後、まだまだデータが増える予定であるなら、今のうちにデータベースソフトに移行したほうがいいでしょう。にっちもさっちもいかなくなってからでは遅いからです。 データベースソフトといえば、Microsoftだと「Access」ですが、覚えるのが大変だし、たとえ覚えても手軽ではありません。 それで、「桐」をお勧めします。十分値段の張るソフトだけど、それだけの値打ちもあるソフトです。2、3日もあれば、データ移行して使い方も覚えるでしょう。お尋ねの仕事内容は常套作業です。
- 参考URL:
- http://www.k3-soft.com/
お礼
お礼を2度書き込みします(何故か前回書き込みした分が掲載されておりません)。重複した場合はご了承ください。 ご回答ありがとうございます。 確かにおっしゃるとおり、アクセスのほうが処理的に向いてると思います。そもそも入力シートの原本はアクセスのようで、それをわざわざエクセルに変換して使用しております(何故そうなのかは、途中から参加してるのでわかりません)。おそらく、当部署でアクセスがわかる人がいなかったからだと思います。データ入力はエクセルで、分類処理はアクセスでになってしまうのでしょうかね。
お礼
ご回答ありがとうございます。確かに、専門用語、専門外の方には分かりづらいと思います。その辺の配慮がかけておりました。申し訳ないです。この場をかりてお詫びいたします。 補足説明については、後ほど行います。申し訳ないです。
補足
補足が遅くなって申し訳ないです。同じ内容が2度以上掲載された場合は、ご容赦下さい。一度掲載し たはずであるのに、何故か表示されていないようなので、再度書き込みいたします。 車に例えて説明します。 A列をメーカー名(トヨタ、ホンダ、ニッサン他)、B列をカラーバリエーション(白、黒、赤他)、C列を車種(カローラ、シビック、 、サニー他)とします。仮にトヨタ>白>カローラと入力します。以下同じ様に入力し、入力データが下記のようにな ったとします。(>はセルの区切りの意味です) 入力データ トヨタ>白>カローラ ホンダ>白>フィット ホンダ>白>シビック ホンダ>黒>シビック ホンダ>黒>アコード ホンダ>赤>アコード 共通要素として、ホンダ>白でフィットとシビックがあります。そこで処理としては ホンダ>白>フィット ホンダ>黒>フィット ホンダ>白>シビック ホンダ>黒>シビック となり、黒>フィットが追加されます。同様にホンダ>黒でフィット、シビック、アコードが共通になり ホンダ>白>フィット ホンダ>黒>フィット ホンダ>赤>フィット ホンダ>白>シビック ホンダ>黒>シビック ホンダ>赤>シビック ホンダ>白>アコード ホンダ>黒>アコード ホンダ>赤>アコード となり、入力データから最終的には、 ホンダ>黒>フィット、ホンダ>赤>フィット ホンダ>赤>シビック ホンダ>白>アコード が追加される形になります。 トヨタ>白>カローラは、白で共通ですが、ホンダではないので、上記の処理には加わりません。 これでわかるでしょうか。