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

A 回答 (4件)

>照合したいデータ同士が順不同で並んでいた場合や、


>ファイルAとファイルBのデータの数が違ってもこの方法は可能ですか?

セル単位で比較しているだけですから基本的には可能です。
回答した方法は算式の貼り付け位置を、何か入力してある場所に限定しようとしていますので、ファイルCに多めに貼り付ければいいでしょう。
例えば、ファイルAはA1:B500、ファイルBがB2:C600を使っていれば、A1:C600に貼り付ければ違いを表示します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/04/05 14:18

「統合」を利用してはどうでしょう?



多少データ構成が変わりますがご容赦ください。
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にのみに存在するコードです。

もうちょっと綺麗にできる方法がありそうですけどね。
    • good
    • 0

ファイルというのは、エクセルでは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スタイルそのままで、識者はお笑いになるでしょうが、根本はファイルマッチングすれば良いと思ったので投稿しました。

この回答への補足

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

補足日時:2002/04/03 20:27
    • good
    • 0

マニュアルで比較する方法を考えてみました。



ファイル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の入力がある範囲にテキトーに貼り付けてみて下さい。


相違点は、
 (ア)目で確認するか、または
 (イ)算式の値をコピーして値として貼り付けしてソートする。または
 (ウ)フィルタ→オートフィルタで空白以外のセル を表示
等で簡単に見つけることができるでしょう。

ご参考に。

この回答への補足

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

補足日時:2002/04/03 20:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ