• ベストアンサー

Excelのどこが更新されているかチェックできますか?

データベースから毎日データを抽出して、Excel2000で表を作成しています。 翌日と前日の数値に大きな差があった場合、どこが変わっているのか確認 する必要があります。 縦のデータは案件ごと、1つの案件について横にデータがならび、案件数は日々変わります。 ・追加された案件を抽出する ・削除された案件を抽出する ・数値の変わった案件を抽出する 上記を行うことは可能でしょうか。 VBは詳しくないのですが、可能であれば頑張って作成したいと思います。 データ量が多いので毎日確認が大変なのです。。。 どうぞご教示ください。よろしくお願いします!

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

前日のデータシートが保存されてあるのか。(たぶんYESでしょうが) 1行が1件か。 各案件をユニーク(重複なきもの)として識別できるコードのようなものはあるのか(主キー)。 以上満たしておれば、 前日と本日データを主キーで、ソートし、主キーでマッチングのロジックで順次比較して比べると 追加分 変更分 削除分 がそれぞれ判ります。 ーー (レコード)マッチングのロジック(流れ、フローチャート)ですが、1990年ごろまでの情報処理試験などでは、試験に出たようですが、基本情報試験などでは余り見かけない?ようなので、WEBかアルゴリズムの本を当たってみるとよいと思う。 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t33.htm は内容的にはそれであるが、もっとすっきりコードを書けるように思うが、注意事項などは役立つだろう。 オフラインバッチ処理(まとめて一括処理)の方法としては、 変更・追加・削除のチェックや情報統合や情報を一方追加などの最強のやり方と思う。

jugem2008
質問者

お礼

ご回答ありがとうございました! なかなか複雑ですね(私にとって?) 教えていただいたURLの内容をまず理解できるよう頑張ってみます。 現状は  ・追加、削除は目視で確認  ・変更は、前日の表を横にコピーして、計算式を入れ、プラスマイナスが出たところを確認する という形で手作業しています。 マクロの作成にあまり時間をかけるわけにもいかないので、現状維持の可能性も含め考えようと思います。

その他の回答 (1)

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

現在は地道に手作業で行っているのでしょうか? それとも、新規に発生した作業で、手作業でやるには無理があって、途方にくれている、といったところでしょうか? 比較する、ということなので、それが同じものなのか、違うものなのかを判断できる情報が必要であることは解りますよね? データごとにユニークな(唯一の)番号が振ってあると便利なのですが、そのような項目はありますか? 1つの項目だけでは無理でも、複数の項目の組み合わせがユニークなら、それでも構いません。 そういうのがないと、そもそも比較できないデータなので、その仕事自体に問題があります。 ということで、ユニークな何かがあるものとして、話を進めます。 両方のデータを、ユニークな項目を基準にソートします。 そして、ユニークな項目を比較して、翌日のデータにあって前日のデータにないものが追加された案件、その逆が削除された案件、両方にある場合は項目を比較する、という流れになると思います。 あとは、マクロを組むだけですね。 マクロの中身を、マクロを知らない人に解りやすく教えるのは大変なので、ここには書きません。 ある程度マクロを勉強した上で、自分なりにマクロを組んで、うまくいかないところを聞いているのであれば、それなりに答えることはできるのですが。

jugem2008
質問者

お礼

使う関数を教えていただければ、それを元に自分で調べられる・・・ と思ったのですが、imogasiさんのご回答をみると、なかなか複雑な 感じですね・・・。 ユニークな番号はありませんが、項目はあるので可能であるという ことはわかりました。 ご回答ありがとうございました。

関連するQ&A