EXCELデータの棚卸し方法を考える

このQ&Aのポイント
  • EXCELデータにはマスターデータとトランザクションデータがあります。
  • トランザクションデータの中にマスターデータと一致しないコードのレコードを削除候補としてピックアップしたいです。
  • EXCELの関数を使うべきか、ACCESSを用いるべきか、最善の対応方法を教えてください。
回答を見る
  • ベストアンサー

EXCELデータの棚卸し

EXCELデータに ひとつのシートにマスターデータ(6000件程度) 複数(15枚)のシートにトランザクションデータ(60000件程度)があります。 このトランザクションデータの中にマスターのコードがあるのですが、トランザクションの中にヒットしなかった、マスターデータないのコード(行)のレコードを削除候補データとしてピックアップしたいのです。 例えば (担当マスターシート)6000レコード(1シート) 担当コード 名称 属性 (トランザクションデータ)15シート×60000レコード 使用日付 商品 担当コード あり、トランザクションデータに使われていない、担当マスターシート上の担当コードをピックアップし、棚卸対象リストを 作成したいのです。 EXCELの関数を使って行うべきでしょうか? 今後も行う事が考えられるので、ACCESSを用いるべきでしょうか? ぜひ、皆様が考える最善の対応方法をご教示頂けるとありがたいです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.3

再び#1です。 Accessのテーブル作成について一言だけご注意を... ExcelからAccessに入った人が良くやる間違いとして、 生徒番号 算数  理科  社会 0123   100  80   90 0185    80  62   30 などと、おなじ属性の項目を横展開しがちです。 Accssでは 生徒番号 科目  点数 0123   算数  100 0123   理科   80 0123   社会   90 0185   算数   80 0185   理科   62 0185   社会   30 とタテに展開すべきです。

PrideOfUrawa
質問者

お礼

ご丁寧なご回答ありがとうございました。 人間、楽して何とかしようとするけど、それって返って、面倒くさい事かもしれませんね。 ACCESSか。まずは、当たって、そして砕けるかどうかは、私次第ですね。 ありがとうございました。

その他の回答 (2)

noname#79209
noname#79209
回答No.2

#1です。 > マスター作っては、見たが過去1年全く使っていないものは、 > 削除(論理削除)すべしとの、指示があり頭を悩ませております・・・。 単なる「削除」でなく「論理削除」といわれていることが非常に重要です。 DBの世界に限らず、顧客マスターのようなものから、顧客データを完全に削除してしまうと、 その顧客は元々存在しなかったことと同じになってしまいます。 ひょっとすると削除の理由が、何か不正を働いたり、クレーマーだったのかもしれません。 それを消してしまうのは、「悪質な顧客」を「悪い前歴なし顧客」として再度登録してしまう危険が有るわけです。 「論理削除」は「バッドマーク」などをつけ、このマークが付いているものは、 通常のアプローチから外すというものです。 前置きが長くなりましたが、 トランザクション側で担当者をピックアップする際、このバッドマークの付いた担当者を省けば良いと思います。 ただ、担当者の場合は、「論理削除」をしてはたして意味があるのかという疑問がでてきます。 一年を超えて使っていない担当者でも、突然使い始めることも有るでしょう。 退職してしまった担当者なら、まだ解ります。 でも、退職者だからといって、マスターから削除してしまうと、受注データには担当者コードしかないので、 それが誰だったのか探しようがありません。 マスターはそのままにして、「退職マーク」をつけるだけにしておけば、 「担当コード00123は○○さんか。あ、もう退職した人なのか。」 とわかります。 Access自体の解説は本が何冊も書けるくらいになりますから、カンベンしてください。 でも、できればAccessの入門書を購入され、立ち読みでなくじっくり読んでみることを強くおすすめします。

noname#79209
noname#79209
回答No.1

Accessがお使いになれるのでしたら、Accessのほうがよいでしょう。 その業務自体もAccessにシフトすることをお勧めします。 ただ、トランザクション側で使われていないからと言って、 マスター側を棚卸し(削除?)をするのはお勧めしません。 むしろ、トランザクションには存在するが、マスターに無いものを ピックアップするほうが有益では無いでしょうか。

PrideOfUrawa
質問者

お礼

ご回答ありがとうございます。 やはり、ACCESSですか。使った事は、全くありません。 データが容易にインポートされて、 差分チェックの機能が、簡単で使いやすいものなのでしょうか? 一度、本屋で手引書なるものを立ち読みしたのですが、 今回の場合、テーブルというところにデータを移し、 クエリーというところで、抽出処理をするようなイメージ は、もてたのですが、これを今回のケースで実際どうするのか よくわかりませんでした。 それで、ACCESSって、難しいものという先入観にとらわれてます。 今回のケースの場合のACCESSを利用する上での 簡単な手順なるものをご教示頂ければ、ありがたいなと 存じます。 お知恵を御貸し頂けると幸いです。 また、ご指摘の 『トランザクションには存在するが、マスターに無いもの』 というのは、ない様です。 マスター登録ができて、初めてデータ入力を行い、 トランザクションデータが作られている様です。 マスター作っては、見たが過去1年全く使っていないものは、 削除(論理削除)すべしとの、指示があり頭を悩ませております・・・。

関連するQ&A

  • エクセルでデータの検索

    エクセル2000ですが、 シート1に約4000件のデータ、シート2に約4300件の データがあります。 データの構成は同じで2列目 のコードで同じものかどうか区別できます。 シート1とシート2を比較して、同じでない300件を 探し出したいのですが、どうすれば簡単に出来るで しょうか。 月に1回このような作業が起きます。

  • エクセルデータの作り方

    よろしくお願いします。 将来データベース化する情報を先ずはエクセルで作成していくのですが、データベース化した時にレコードを検索しやすい様に欲しい値をドロップダウンでの選択形式にして、”検索漏れ”が起こらないようにしたいと思っています。 例えば、田中という1人に属性がa,b,c,d,eと5個位の属性があり、鈴木という1人にa,c,dと3つの属性がある。 データベース化した時にa,cの2つの属性を持つ人をピックアップしたい時、ドロップダウン形式にすると田中さんの場合レコードが5行必要になり、5行作る理由はアルファベット列の値を増やしたいだけなのに、検索にヒットさせるためには他の4行のレコードにも田中…と他の値も入力しなければなりません。 そういうものなので、みんな5行まともに作っているということなら私そうしますが、エクセルの達人の方であれば「”本来はこうする”、そうするとレコードは1行で済む」という知識をお持ちかもしれないと思ってお聞きしています。 要領を得ていない質問かもしれませんが、よろしくお願いします!

  • ACCESSでの検索方法について

    マスタファイル2万件、トランザクションファイル約50件程度のデータベースがあります。 50件のデータを1件1件マスタから検索し(キーは2つ)、あればマスタを修正し、なければマスタに追加するプログラムを作成する場合、どういった方法が良いのでしょうか? 1.Do until トランザクション.eof    クエリの実行(約50回)  loop 2.Do until トランザクション.eof findで検索(約50回) loop 3.2つともレコードセットを開いて上から順番に検索していく。 分かりづらかったらすみません。方法はこれ位しか思い浮かびませんでした。 ほかにあれば教えて下さい。 1の方法がプログラム的には一番楽なのですが、実行スピードは3なのでしょうか? すみませんがご教授お願いします。

  • 「コピペについて」EXCEL初心者です。簡単にお願いします。

    今仕事で、EXCELを使ったデータ入力作業を行っています。 5000件のデータを入力し終わり、いざ本元のシートへとコピペしようとしたのですが、うまくいきません。 本元のシートというのは15000件のレコードを持つEXCELデータです。今回のデータ入力分シート(前述の5000件)はこの中から選出されたデータであるため順不同(レコードが飛んでいる、すでに入力済みなど。手作業で行われているためどこが抜けているか判断しづらい)です。 よって、フィルタオプションを使用して、本元のシートから5000件のシートを検索条件とし、抽出しました。本元のシートはうまく5000件のシートと同じように並んだのですが、コピペでどうしても躓いてしまいます。 範囲指定からコピペをしても、「コピー範囲と貼り付けの領域が違う」と怒られた為、一番トップにあたるセルを選択しペーストをしたのですが、なぜか、レコードがずれて入力されてしまうのです。 このとき本元のシートを全て表示してみると、抽出されていないレコードにデータが入力されていました。 どなたか、いい方法を教えていただけませんか?初心者ですので簡単な方法をお願いします。。。

  • エクセルでのデータ抽出

    エクセルでの複数シートからのデータ抽出方法を教えていただけないでしょうか。 1日から31日まで日にちごと作ったシートの中に”お客さん”と”担当者”と”料金”の3項目があるとします。その1日から31日までの全てのデータの中の”担当者”ごとに別のシートへデータの抽出を行いたいのですが。 複数のシートからのデータ抽出になります。 簡単な方法があったら教えていただけないでしょうか。

  • エクセルデータのレコード重複修正

    7000件程度のレコード数があるエクセルデータで、一部(およそ500件程度)レコードが重複していることがわかりました。 本来ないはずの重複レコードを削除するにはどのような方法があるでしょうか? ご存知の方ご教授ください。

  • Excel VBA 売上管理の作り方

    以前にQNo.3944241で質問させていただいた者です。 その節は大変お世話になりました。 社内で相談した結果、データ数も少ないので、Excel VBAのみでやってみる事になりました。 Excel VBAに関する本を何冊か購入しました。 初心者用の基本機能を紹介した本でコードを入力しながら実際に動かしてみて勉強して、その1冊は終了しました。 これから、実際に使用する売上管理を作成していこうと思います。 そこで、わからない事が出てきたので、とても初歩的な事なのですが質問させてください。 作成するシートとして、初期段階では下記を考えています。 (データ件数は将来増える事を考えて多めに書いています) ・取引先入力フォーム ・取引先マスタ ------------------ データ数 500件程度 ・当社担当者入力フォーム ・当社担当者マスタ -------------- データ数 100件程度 ・売上(請求書)の入力フォーム ・売上マスタ -------------------- データ数 1000件程度 ・月別取引先毎集計売上一覧出力フォーム ・担当者別月毎売上推移出力フォーム 期(1年)ごとにブックを分けるつもりなので、上記のシート全てをひとつのブック内に収めてしまおうかと思っているのですが、ひとつのブックで良いのでしょうか? 管理者以外はマスタの中身は入力フォームからしかいじれないようにするつもりでいますが、例えばセキュリティの問題上、マスタは入出力フォームとは別ブックにするべきでは?とか、そのデータ件数だとひとつのブック上ではフリーズしてしまうのでは?(私の想像です・・・)と言ったような、実際に使用している方から見たら常識的な事を全く知らないので、教えていただきたいのです。 どうぞよろしくお願い致します。

  • エクセルマクロで一致データを検索

    エクセルのマクロを使用して以下のことを行いたいです。 (※VBA初心者なので解説を書いていただけるとありがたいです。) ・商品マスタのCSVを読み込む。  30万件以上あるので、エクセルでは表示できません。 ・読み込んだ商品マスタに記載されている商品コードを、  商品データ一覧のエクセルファイルに自動で転記したい。    商品データ一覧のエクセルファイルには、「商品番号」「色」「サイズ」があります。  この3条件が商品マスタのものと一致する商品マスタのコードを転記したいです。 量が膨大なうえ、急ぎの作業なため、何卒よろしくお願いいたします。

  • テキストデータ量が膨大で、エクセルに取り込めない

    テキストファイル形式で作成したデータをエクセルで読み込むようにデータ変換ができますが、そのデータ数量がレコード数(行)にして20万件あります。エクセルの1つのシートでは65,500行位だと思いましたが、これを何とか複数のシート、もしくは、別のファイル名に分けてエクセルに全て取り込めるようにはできないものでしょうか?それを一度、エクセルで加工後にアクセスにインポートしたいのです。もしくは、テキストデータをいくつかのファイルに分割できるのでしょうか? よろしくお願い致します。

  • VB2005でのエクセルへのデータ出力

    タイトルどおりなのですが、DBからマスタのデータを単純にエクセルに出力するだけなのですが、どういったやり方が一番高速に処理できるのでしょうか? マスタのデータをデータテーブルに取得して、データテーブルをループさせながら、1レコードごとにエクセルに出力するようなやり方しか思いつかないのですが、もっと効率的で高速に処理できる方法があれば教えて下さい。 ちなみに、エクセルは新規ファイルではなく1行目にマスタのテーブルのカラム名を記述している既存ファイルのエクセルに出力していく形になります。 画面の動作としては、マスタメンテの画面にある「出力」ボタンをクリックすることで、ファイルダイアログを表示して保存先を決めたら、出力開始というイメージです。 できれば、サンプルコードなどあれば有難いです。 宜しく、お願いします。 開発環境: OS:WinXP SP2 DB:Oracle 10g(?)、すみません。バージョンまであってるかは不明です。 言語:VB2005Pro Excel:Excel2000