• 締切済み

2つのエクセルファイルの比較

仕事で使用している顧客一覧(エクセルファイル)があります。 このファイルは会社のシステムで自動的に生成され、 毎日その日の最新版が日付ごとのフォルダ(今日だったら20080527) に上書きされます。ファイル名は同じです。 そこで昨日のファイルと本日のファイルに変更点が あればどのような形でも良いので分かるようにしたいと思っています。 変更点の色が変わって2つのファイルが比較できるフリーソフトを試してみましたが、 当然なのですが、新規の顧客が従来の顧客の間に入ってしまうと、 順番が変わりそれ以降の顧客のデータ全て変更点とみなされてしまいます。 できれば名前が入っている列、例えばB列をキーとし、 新規の顧客データや、従来の顧客のデータの順番が入れ替わっても 変更点のみ色が変わるようにするにはどのようにすればよいでしょうか。 また、そのような機能を満たしているソフトなどありましたら、 教えていただけると大変助かります。

みんなの回答

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

(1)VLOOKUP関数利用 (2)VBA利用 (3)アクセス利用 (4)出来合いのソフト利用 (1)は一方から他方を検索表と看做して検索し列ごとに内容を比較する。見つからないものはエラーが出るから、増加分はわかる。 消滅分は他方から検索しないと判らない。 行が多いとシートが式だらけになって、エクセルが動くかどうか心配。 (2)色々なやり方があるが、私なら両方をソートしてマッチング方で比較する。 両方あわせて56千件以下なら下に貼り付けて、マッチングキーでソートし上下行を比較する。 しかしマッチングキーも明確に意識して内容だし、キーの重複出現 についても言及がなく、そのレベルではプログラムは難しかろう。 (3)エクセルと違って、道具立てがそろっています。 (4)マッチングキーの位置を指定させ、同じフォーマットという前提で比較するソフトはWEB上で見つかりませんか。 昔の大型機のソフトなどではそういうものが提供されていたように思うので、諸所にニーズはあると思うが。(ファイル比較 ユティリティソフトでWEB照会は。FileCompare)

pimo2020
質問者

お礼

ありがとうございます。 (4)に関してですが、午前中からしばらく検索していますが、 それらしいものにヒットしません。 (マッチング、照合、突合、比較、コンペアをエクセルに組み合わせて 検索しました) 私もこういったソフトのニーズはあると思うのですが。 ちなみにファイル内でのキーの重複はありません。 (1)~(3)に関しては初心者ゆえ、利用することを 考えていない、というよりは利用できないという感じです。

全文を見る
すると、全ての回答が全文表示されます。
  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

その程度のことであれば、VBAで比較的簡単に処理できます。 でも、このような質問をしているということは、VBAを知らないのでしょうから、VBAを使わないとすると・・・ 新規の顧客が従来の顧客の間に入ってしまったら、昨日のデータに、新規顧客にあたる空列を追加するしかないでしょうね。 そうすれば、そのフリーソフトで対応できます。 新規顧客が毎日数十もあるのであれば大変でしょうけど、毎日5つくらいであれば、そんなに手間でもないでしょう。 どうしても自動化したいのであれば、VBAを学びましょう。 初歩レベルの技術で作れると思います。

pimo2020
質問者

お礼

おっしゃるとおりVBAは理解していません。 空列を挿入する方法も思いついたのですが、 毎日何十件と新規が加わるので時間がかかってしまいます。 VBAを学んで自作するのが一番でしょうね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAを使って名前をつけて保存をしたい

    例えばデーター管理ファイルAというファイルの中にある 顧客データという名前のエクセルブックを開いて上書き保存をして、 データー管理ファイルBというファイルの中に顧客データ【1016】(1) という名前で(1016とは本日の日付を表しています)保存するとします。 この段階で、ファイルBの中に顧客データ【1016】(1)が入ってる事になりますが、再度本日二回目にAファイルの中にある顧客データをBファイルの中へ保存する場合顧客データ【1016】(2)という名称で保存して さらに本日三回目に同じように保存する場合は【1016】(3)というようにしたいのですが(もし明日保存する場合は、一回目は顧客データ【1017】(1)、二回目は【1017】(2)というように日付が変わると(1)から始めるようにしたいのですが)、VBAでどの様にしたらいいでしょうか?

  • EXCELで2つのファイルから重複データで抜き出したいです。

    EXCELで2つのファイルから重複データで抜き出したいです。 『A』ファイルという顧客データと『B』ファイルという顧客データがあります。 それぞれ項目は同じで、 A列=顧客コード B列=顧客名 C列=住所   ・   ・   ・ となっています。 『A』ファイルと『B』ファイルそれぞれのファイルには顧客コードに重複はありません。 『A』ファイルと『B』ファイルを比べて 重複データ以外のダブリのないファイルを作成したいです。 よろしくお願いします。

  • 二つのエクセルファイルを簡単に比較できませんか?

    会員名簿を2つの場所で管理しています。住所変更等を片方で行うと、もう一つも同様にしたいのですが、この変更や訂正がキチンと行われているか、二つのファイルを見比べて相違点があれば示してくれるようなソフトはないものでしょうか?

  • Excelの条件付き書式について教えてください!!

    Excelの縦の行一列に日付をいれています。 自動的に、本日の日付には赤、 翌日の日付には緑、翌々日の日付には青というように、 色をつけたいのですが、 1、日付を入れている縦の行一列をドラッグする。 2、書式→条件付き書式をクリックする。 3、”セルの値が””次の値に等しい”に変更し、   =$D$1と入れる。 4、書式をクリックし、色を赤に変更する。 と、したのですが、全く色が変わりません。 やり方が間違っていますでしょうか?

  • 複数のエクセルファイルからのデータの抽出、一覧の作成について

    エクセルでのデータ整理の件で以下の質問があります。 以下のことができるようなマクロは組めませんでしょうか? 同一フォルダ(仮に、「C:\Sample」とします)に日々の業務データが 入力されたエクセルファイルが300個ほどあります。 各ファイル内にはSheetが5枚あり、各ファイルで入力されているデータは すべて同一のフォーマットです(Sheet毎では異なる。 例えば、Sheet1の1行A列には日付データ、Sheet2の2-5行B列には名前データ、といった感じです)。 これら300個のファイルから、これまでのデータを一覧にしたリストを 新規に作りたいと考えています(作成場所はどこでも構いません)。 例えばSheet1の、1列目にはファイル名、2列目には各ファイルSheet1の1行A列の日付データ、 3-6列目には各ファイルSheet2の2-5行B列の名前データ・・・、といった具合です。 (縦に日付が並び、1行内に各ファイルのデータが入力されている、 といった風にしたいと考えています。) 参考になりそうな過去の回答もありましたので、いくつか試してみたものの、 うまくいきませんでした(私はマクロは少しかじった程度です)。 一個ずつコピペでは非常に骨が折れ、難儀しております。 ややこしい質問ではございますが、ご回答お待ちしております。

  • エクセル 別のファイルにデータを流し込む方法

    エクセル 別のファイルにデータを流し込む方法 エクセルで、1つのファイルに入力してあるデータの内、 特定の行のデータを指定して、別のファイルに体裁(レイアウト)を変えて 表示させる方法を教えてください。 具体的には、例えば、元データのファイル(仮にBook1)が、 列に、A列-日付、B列-時間、C列-利用場所、D列-顧客番号、 E列-顧客氏名、F列-利用内容、G列-判定 というような項目を並べて、 1行ずつ、データが入力してあるファイルがあるとします。 この元データのファイルを利用して、別のファイル(仮にBook2)、 例えば、FAX送信用の紙のような書式のファイルに、 1枚の紙に、1人分のデータを、 流し込んで表示させるようなことをしたいと思っております。 これを、Book2の1個1個のセルに、元となるBook1のセルを参照するよう いちいち入力するのではなく、 Book1の特定の1行を指定すれば、その行に入力してあるデータが 自動的に(一発で)Book2のシートに反映されるようにしたいのですが、 良い方法がありますでしょうか。 ご存知のかたがいらっしゃいましたら、 お教えいただけると嬉しいです。 どうぞよろしくお願い申し上げます。

  • エクセルのファイルが見つからない

    電子メールで送られてきたエクセルのファイルを開き、 データを入力し保存する際に、 慌てて「上書き保存」をクリックしてしまい終了してしまいました。 本日、ドキュメントの中にファイルが見つからないのですが、 どこかに保存されていたりするのでしょうか? かなり入力していたのでできれば復活させたいのですが。

  • エクセルファイルの1レコード(1行)を1csvファイルへ変換マクロ

    エクセルファイルの1レコード(1行)を1csvファイルへ変換し、エクセルファイルにあるレコード数分だけあるフォルダに自動作成するマクロを教えて下さい。 因みに、csvファイル名は、エクセルデータの『a列.csv』となるようにしたいです。 【例】 本日2007/11/13 ○○.xls A列 B列 C列 111 1 356 13 1 2 ・ ・ ・ ・ ・ ・ 111.CSV "2007/11/13(火)","1","356,"","","" 13.CSV "2007/11/13(火)","1","2,"","","" 変換後のcsvの中身は 1列目に、本日の日付 2列目に、1 3列目に、変換元のエクセルファイルの3列目 4、5、6列目に空白 という形式です。 どなたかお分かりになるかた、ご教授願います。

  • エクセル データの並び替え

    使用PC:DOSVマシン 使用OS:WinXP 使用ソフト:Excel2002 横(行)に、各セルに順番に日付、データ、日付、データ・・・と並んでいるものを A列:日付 B列:データにして、縦に転換したいのですが・・・ 図解 (1)横に各セルにこのように展開しています(区切り位置指定ウィザード使用後) 2002.3.1 190.15 2002.3.4 192.35 2003.3.5 193.48・・・ (2)これを、 A列:日付 B列:データ 2002.3.1    190.15 2002.3.4    192.35 2003.3.5    193.48  ・        ・  ・        ・ としたいんでごわす、ご教授お願い致します。

  • 【エクセル】日付同士の比較について

    以下について質問があります。 【実現したいこと】 2つの日付(本日と予定日)を比較して、以下を実現したいと考えています。 (1)本日から予定日までの日数を表示させる。(例:A1セルに結果を表示させる。) (2)予定日が本日を過ぎてしまった場合にセルを赤色に塗りつぶすと同時に、「-何日」という形で予定日よりも何日遅れているかについて日数を表示させたい。 【試したこと】 (L4に本日の日付、R列に予定日が記入されています。) ■「予定日-本日」と「=DATEDIF($L$4,$R15,"D")」の2つの方法。 「予定日-本日」の場合、まだ予定日が記入されていないセルがあると、「-41125」の様に日付を数値化した結果が表示されてしまいます。 「=DATEDIF($L$4,$R15,"D")」の場合は、本日を過ぎた場合、「#NUM!」が表示されてしまいます。 ご教示いただけると大変助かります。 よろしくお願いいたします。

このQ&Aのポイント
  • 高校二年生の者です。男性恐怖症の好きな人と修学旅行に行くことを考えています。関係を壊すのが怖くて告白できずにいます。
  • 同じクラスの細マッチョ男子とも仲良くなり、好きな人との関係に〝慣れ〟が生じていると感じています。
  • 好きな人とは友達としても異性としても大切だからこそ、一緒にいたいと思っています。修学旅行が楽しい思い出になってほしいです。
回答を見る

専門家に質問してみよう