• ベストアンサー

同じデータかどうかを調べたい。。

お世話になります 教えてください EXCELの同じブック内にそれぞれ別シートで同じような(同じはず。。というか同じであってほしい笑) データが入っています。 ざっとみると、少し違うようです。 同じかどうか調べる方法はありますでしょうか? 違うのを抽出する方法はありますでしょうか? EXCEL2000でやっているので、EXCELにそういう機能が あればいいのですが、。。 おしえてください(T_T)

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

#3の件ですが比べるファイルのシート名が DATA1[Sheet1]、DATA2[Sheet2]の場合 =IF(DATA1!A1=DATA2!A1,"○","×") に置き換えるという意味です。 新しいシートのシート名変更という意味ではありません。 「ファイルが見つかりません」は上記のシート名が違うためと思われますので、 訂正して確認してください。

aimer
質問者

お礼

ありがとうございました!!!! mshr1962さんの教えをたよりに自分自身でも 調べてみました。 なるほど!おきかえるんですよね、 しつれいいたしました(>_<) ありがとうございましたv

その他の回答 (4)

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

VBAですが VBEの標準モジュールに Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Dim sh3 As Worksheet Set sh1 = Worksheets("sheet4") Set sh2 = Worksheets("sheet5") For Each cl In sh1.Range("a1:j20") If cl = sh2.Cells(cl.Row, cl.Column) Then Else sh2.Cells(cl.Row, cl.Column).Interior.ColorIndex = 8 End If Next End Sub をコピペして実行してください。 正確に同一セル対応で、値が同じでない場合一方のシートのセルに色を付けます。抜き出そうと思いましたが意味がないような気がして止めました。別シートに出すこともできますが。 厳密に同じ位置セルで同じでないと、1行ずらすと同じになるなんてのはこれでは、だめです。 sh1.Range("a1:j20")を実際のデータのある範囲に変え Set sh1 = Worksheets("sheet4") Set sh2 = Worksheets("sheet5") も実際の比較する両シート名に変えてください。

aimer
質問者

お礼

なるほど!ほんとうにたすかりました EXCELの世界が広がったような気がします またよろしくお願い致します(^O^)/

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

『どのシートに入力したら言いのでしょうか?』 「挿入」「ワークシート」で新しいシートを作るか 元の2つのシートのどちらかでデータのない所に入力してください。 後、式のSheet1とSheet2は元の2つのシート名に変更するのをお忘れなく。

aimer
質問者

補足

「挿入」「ワークシート」で新しいシートを作って 例の式をA1に入力してみましたが、 TABキー(またはエンター)を押してみると、 「ファイルが見つかりません」というダイヤログがでるのですが。。。(涙 「元の2つのシート名に変更するのをお忘れなく。」 とあるのですが、それは新しく作ったシート(式を入力するシート)の名前を調べたい(比べたい)ファイルの 名前に変更するということでしょうか? でも、そうすると、同じファイル名はだめです等のエラーがでますよね・・・? 何度もすみません(涙

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

A1に=IF(Sheet1!A1=Sheet2!A1,"○","×")を入力したら セルの右下に「・」の様になっている場所にカーソルをあわせます。 マウスの左ボタンを押しながら右に移動してください。 式がコピーされます。 今度は1行目(式がコピーされた範囲)を選択して マウスの左ボタンを押しながら下に移動してください。 それで式がコピーできます。

aimer
質問者

お礼

ありがとうございます>^_^< すみません、聞いていいですか? 「A1に=IF(Sheet1!A1=Sheet2!A1,"○","×")を入力したら」ということですが、 どのシートに入力したら言いのでしょうか? すごく初心者です。 ご迷惑をおかけしますが よろしくおねがいいたします

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

一番単純なのは新しいシートのA1に =IF(Sheet1!A1=Sheet2!A1,"○","×") として行列方向にコピーして×を確認する方法ですが? 同じでいいならコピーしなおした方が楽だと思いますよ。

aimer
質問者

補足

ありがとうございます!!(涙 ですが。。関数系はまったく初心者で(T_T) そ、その方法というのは具体的にはどうすればいいのでしょうか?爆 「新しいシートのA1」というのは、 調べたいデータのある同じブック内にまた新しいシートを追加するのでしょうか?? 「=IF(Sheet1!A1=Sheet2!A1,"○","×") として行列方向にコピーして」 ということですが、そのシートいっぱいにコピーすれば いいのでしょうか? 一つのセルに「=IF(Sheet1!A1=Sheet2!A1,"○","×"」 を一つずつ?いれればいいのでしょうか? 何度もすみません(涙

関連するQ&A