• 締切済み

エクセル2000での一致・不一致

エクセル2000での質問です。 AとBのファイル(表の形式は全く同じ)があるとします。 AとBを比較して”Aに対してBのXXのデータが合わない”等が分かるようにできろのでしょうか? 例)ファイルA  ファイルB   1       1   2       2   3       5 ならば、Aには”5”がなくてBには”3”がない事を抜き出すなり、別表にするなりの、何らかの方法で分かるようにしたいのですが・・・。

  • RD17
  • お礼率40% (10/25)

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

>照合したいデータ同士が順不同で並んでいた場合や、 >ファイルAとファイルBのデータの数が違ってもこの方法は可能ですか? セル単位で比較しているだけですから基本的には可能です。 回答した方法は算式の貼り付け位置を、何か入力してある場所に限定しようとしていますので、ファイルCに多めに貼り付ければいいでしょう。 例えば、ファイルAはA1:B500、ファイルBがB2:C600を使っていれば、A1:C600に貼り付ければ違いを表示します。

RD17
質問者

お礼

いろいろとありがとうございました。 結局、Accessで取り込んだ後、不一致クエリで処理することにしました。 もともと片方のファイルはAccess→Excelへ書き出したものだったので・・・。 普段Accessしか使っていないので、どうもExcelにはなじめませんでした。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

「統合」を利用してはどうでしょう? 多少データ構成が変わりますがご容赦ください。 1.ファイルAをシート1に読み込みます。 2.列Aのみではできないので列Bに「1」をいれ、Aの行数全部にコピーします。 3.タイトルを以下のようにします 列A_列B 1 _ 1 2 _ 1 3 _ 1 こんな感じ(アンダースコアがセルの区切りとさせてください) 4.ファイルBをシート2に読み込みます。 5.ほぼ同様の処理でタイトルを以下のようにします(列Bは2を入力) 列A_列B 1 _ 2 2 _ 2 5 _ 2 6.シート3でセルA1を選択し、メニュー[データ]-[統合]をクリック。 7.「集計の方法」は「合計」 8.「統合元」でシート1のセルA1からB4を選択し「追加」ボタンクリック。 9.「統合元」でシート2のセルA1からB4を選択し「追加」ボタンクリック。 10.「統合の基準」で「上端行」「左端列」にチェックを入れる。 11.「OK」ボタンクリック。 12.シート3のA列に「コード」が、B列に「値」が入ります。 「値」が3の場合、ファイルA、ファイルBともに存在するコードです。 「値」が1の場合、ファイルAにのみに存在するコードです。 「値」が2の場合、ファイルBにのみに存在するコードです。 もうちょっと綺麗にできる方法がありそうですけどね。

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

ファイルというのは、エクセルではBOOKを保存した時に記録される形式だと認識しています。 1ブック1シートのブックに限る制約が有るようですが、 PRN形式で(スペース区切りで)Book1.prnとBook2.prnにシートのテキスト内容だけを保存したとします。VBEのModule1の画面に Sub test1() Open "book1.prn" For Input As #1 Open "book2.prn" For Input As #2 While EOF(1) = False Line Input #1, a$ Line Input #2, b$ If a$ <> b$ Then MsgBox a$ MsgBox b$ End If Wend Close #1, #2 End Sub を入力して実行すれば、違うものはMsgBoxに表示されます。 MsgBoxの部分をファイルに書き出すように書きなおせば、エクセルに再読み込みできてわかりやすく表示されるでしょう。 上記は旧DosBasicスタイルそのままで、識者はお笑いになるでしょうが、根本はファイルマッチングすれば良いと思ったので投稿しました。

RD17
質問者

補足

照合するデータ同士が順不同で尚且つデータ数が違う場合でも可能でしょうか?

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

マニュアルで比較する方法を考えてみました。 ファイルBをコピーしてファイルCとしておきます。ファイルCに照合結果を書いてみます。 ファイルA、ファイルB、ファイルCを全て開きます。 ファイルA、ファイルBのSheet1を照合する例です。 シートが複数あっても同様な手順を繰り返すだけです。 ファイルCのセルA1が空いている(未入力)とします。(A1が空いてなければ他を探します)  A1に   =IF([Book1]Sheet1!A1=[Book2]Sheet1!A1,"","違う "&ROW()&":"&COLUMN())   を入力します。A1に書き込むのでSheet1!A1のようにA1にします。  $A$1のように絶対番地参照になったら『$』を削除して下さい。  上の算式では、ファイルAを『Book1』、ファイルBを『Book2』としています。 (1)A1をコピーします。 (2)メニューから、編集→ジャンプ→ジャンプのダイアログでセル選択ボタン→定数 を選択してOK。 これで定数のセルが選択されたはずなので、Ctrl-V(貼り付けを実行) ファイルA、ファイルBの対応するセルの内容が違えば『違う 行番号:列番号』が表示されます。 (2)で定数セルだけか、他に算式のセルがあるか分かりませんが、算式を選択する場合は、ジャンプのダイアログでセル選択ボタン→数式 を選択してOKを押します。 上記は、セルに入力された場所に比較の算式を埋め込もうとしていますが、操作が複雑なら、ファイルCのA1の算式をファイルCの入力がある範囲にテキトーに貼り付けてみて下さい。 相違点は、  (ア)目で確認するか、または  (イ)算式の値をコピーして値として貼り付けしてソートする。または  (ウ)フィルタ→オートフィルタで空白以外のセル を表示 等で簡単に見つけることができるでしょう。 ご参考に。

RD17
質問者

補足

照合したいデータ同士が順不同で並んでいた場合や、ファイルAとファイルBのデータの数が違ってもこの方法は可能ですか?

関連するQ&A

  • エクセルのファイル内データ比較

    データがエクセルファイルなのでここで質問いたします. エクセルファイルが300個ぐらいあります. この中で基本になるファイルは50個ぐらいあります. その50個のファイルの1つと残り250個ぐらいのファイル内データを比較できる方法はないでしょうか? 当然一気に比較する方法ではなくてもかまいません. 現在1つ1つ開いて見て比較する途方もない作業で死にそうです. ファイル内データはマクロもなければ計算式すらありません. 数字データがA1~A90,B1~B90まで入っています. データ数は全ファイル共通となっています. どなたか良い知恵を授けてください.お願いします.

  • エクセルのデーター抽出で悩んでおります、皆様のお知恵をお貸しください。

    エクセルのデータ抽出で悩んでおります、皆様のお知恵をお貸しください。 データベースとして作ってある表で、”列A”に入っている日付以上(形式2009/11/27)、”列B”に入ってる日付以下と言う条件で、”列D”から”列R”に入っている日付データを探し、”列C”に入れるという事をしたいのですが、出来るだけ簡単な方法があればお教え下さい。 〔列A2009/11/27〕 〔列B2011/1/27〕 〔列CXXXX/XX/XX〕 〔列D~Rは日付データ〕 列Aに入っている日付以上、列Bに入っている日付以下という条件で、列D~列Rに入っている日付データの中から条件に合致するデータを探し、空白の”列C”に合致したデータを入れるというができますでしょうか。 (あくまでもデータベースとして表が出来ているので、並べ替えてオートフィルタ機能を使うという事はできません。)

  • また教えてください!Excelで作った表で・・・

    助けてください!!  Excelで作った3つの表があります。 ※1つのファイルの中に3つのシートとして作られています。 (1)元となるデータが入っているもので、  (例) 1月1日 1,000    1月2日  500   ~    2月1日 1,500    2月2日 1,800 …と、連続した日にちと数値が入力されています。(数年分) (2) (1)の表から部分的にリンクさせて1カ月分を抜粋しています。  (例) 1月1日 =(1)!A1     1月2日 =(1)!A2 1月3日 =(1)!A3 ←多少違うかもしれませんが、こんな感じの式?を入れてデータを引っ張ってきています。 (3) (2)と同じですが、(2)に抜粋したデータの次月分が入力されています。  (例) 2月1日 =(1)!A32     2月2日 =(1)!A33 2月3日 =(1)!A34    (2)と(3)は1つ1つのデータは違うものの、表の作りとしては同じです。 (2)や(3)のような表が、すでに何カ月先の分まで それぞれシートとして作られているのですが、 その表の内容が正しいか確認したいのです。 例えば、2月のデータを表(1)から引っ張ってきたいのに  (例) 2月1日 =(1)!A32→“(1)!A31”になっている…など 違うセルが入力されていないようにしたいのです。   それで、考えたのは すでに終わった月の表は正しい式が入っているのだから、 正しい表と新しい表を比べられないか?という事です。 (回りくどくてスミマセンm(__)m) でも、引っ張ってくる元のセルが違っているので 単純に比較できず、関数にも詳しくないので、どうしたらいいのか分かりません。 間違えないように、初めからもう一度作る・・・というのはナシで、比較をして確認したい場合でお願いします。 また、比較ではなく、他に方法がありましたら教えてください。 不明な点は補足をさせていただきますので、よろしくお願いします。

  • アクセスかエクセルで不一致行の比較

    こんにちは。エクセルで作成された2つのファイルの値の比較をしようとしていて、不一致行を抽出しようとしています。以下をエクセル上もしくはアクセスで簡単に抽出できる方法を教えてください。 2つのファイルには列が8列ずつあります。5列目までが一致しているけれども6-8列目が異なるケースを抜き出したいと思っています。 例えば Aファイル A,A,A,A,A,100,200,0 ・・・(1) A,A,A,A,A,200,200,0 ・・・(2) Bファイル A,A,A,A,A,100,200,0・・・(1) A,A,A,A,A,200,100,0・・・(2) 上記の場合(2)のデータの抽出をしたいと思っております。

  • エクセル 項目、種類の変わる元表から集計したい

    エクセルでの質問です。 サンプルにあるように、同じシートに、元表とまとめ表があります。 まとめ表には、別シートから項目と金額が貼り付けられるようになっています。 やりたいのは、元表の項目種類を集計し、まとめて表に金額集計をしたいんです。 だけども例1、例2にあるように元表に貼付られる項目の種類、数は毎回異なり、範囲が 変わってしまう事で悩んでいます。 実はマクロでこのエクセルファイルを開くと、別エクセルファイルのデータを読込、自動で まとめ表までの結果が計算されることを目指していて、元表に項目と金額が貼付られる ところまで、出来たところです。 なのですが、毎回変わる元表のデータを、まとめ表に集計する所で悩んでいます。 ピボットテーブルを使えばいいのかなと思うのですが、毎回、範囲とデータが変わるため、 範囲と再計算をしなければならないと思いますが、どのようにしたらよいでしょうか? 頭の中がごちゃごちゃして判らなくなってしまいました。 マクロも詳しくなく、マクロの記憶で、なんとか組み合わせてやっている初心者です。 申し訳ありませんが、私でも判るようなレベルで教えて頂けると、助かります。 宜しくお願いいたします。サンプル見えないと困るので下にも書きます。ずれてますが すみません。 例1            例2 シート1         シート1 まとめ表         まとめ表 項目   金額       項目   金額 1A    260       1A     250 2A    500       2B     510 3A    770       3A      20 4A     30       4B     780                6A    400                7A    500 元表             元表 項目   金額         項目  金額 1A    100          1A   100 1A    150          1A    150 1A     10          2B     10 2A    200          2B    200 2A   300           2B     300 3A     20          3A     20 3A    300          4B    300 3A    450          4B    450 4A     30          4B    30                  6A   400                  7A   500

  • Excelで2つのファイルから完全一致のIDを抽出

    Excelで2つのファイルから完全一致のIDを抽出したいです。 エクセルについて質問です。 バージョンは「2010」です。 2つのエクセルデータ「Aファイル」・「Bファイル」があります。 AファイルとBファイルには顧客データがあり、 Bファイルは「A列…会社名」「B列…担当者名」「C列…取引先ID」「D列…取引先担当者ID」という内容です。(会社名が同じで担当者が2・3人いる場合もあります。) Aファイルの方は新規の顧客とBファイルの顧客と重複してあります。 それで、Aファイルの方に、Bファイルの方から「会社名と担当者名が一致」している取引先IDと取引先担当者IDを入力していきたいんですが、簡単にできる方法があったら教えてください。 (AファイルにはIDの列を2つ新規で作ります。)

  • エクセルの関数について

    初めてご質問させていただきます。よろしくお願いします。 エクセル2007を使っています。 A表・B表、二つの表の中から同じデータを抜き出して、 A表の同一データの横へ数字の1を入れたいのですが、適した関数はありますか?そしてその方法を教えていただきたいです。 この文章で分かるでしょうか?よろしくお願いします。

  • エクセルで困っています

    こんばんは。 エクセルが苦手で皆様の助言をお借りしたいのです。 新旧2つの住所録が入ったエクセルデータを比較して、 異なる点をピックアップしたいのです。 VLOOKUP関数で、出来るのかなと思ったのですが、 比較する対象同士が同じ列に入ってないと間違ってはないのに エラーでピックアップされてしまうのです。 (例) sheet1 A B C sheet2 A A" B C 上記の場合、B,Cはsheet1,2とも同データなのに、A"のデータが入っている為、一行ずれているのでエラーとして認識されてしまうのです。 同じ行だけ比較するのではなく、そのデータが入っている行すべてを探してエラーのあるなしを判断する方法ってありますでしょうか? うまくまとめられない文章ですいません。 よろしくお願いします。

  • エクセル2003について

    エクセルで集計を出したいのですが、チョット困っているので教えてください。 例:AシートとBシートにはそれぞれ同じ形式でデータが入っています。そのAシートとBシートをリンクさせて両方のデータを同シート(1つのシート)で確認する事は出来ないものでしょうか??もちろんどちらかのシートのデータをコピーで貼り付けてしまえば、集計は出せなくないのですが、上記のようなリンクできる方法があるのであれは教えて頂きたいです。良い考えのある方、よろしくお願い致します。 本日中に集計を出すので何卒よろしくお願い致します!!

  • エクセル 値が一致しないものを見つけたい

    お世話になります。 エクセルでA列B列にそれぞれ数値が入っている表があり、A列にはあってB列にはない数値を分かるようにしたいと思っています。      A列  B列   C列 1行目  1   1 2行目  1   5 3行目  4   0   4 4行目  5   1    5行目  1   0   1 ・A1、A2、A5の値が1であるように、A・B列とも重複する数値が入ることがあります。 ・A列とB列の値は1対1で対応し、例えばA1がB1と対応するならA2はB4と対応します。 この表ではA3、A5に対応する値がB列にないので、C列にその値を表示させています。 ・一致しない数字を分かるようにする方法にこだわりはなく、例のようにC列に値や×を表示させる、A列に色をつける、一致するものがあった数値は削除する等、なんでも構いません。 お分かりになる方、どうぞよろしくお願いいたします。

専門家に質問してみよう