• 締切済み

エクセルで作った表の比較

エクセルで作ったいくつかの表があります。 すべて同じ表で、全く同じ計算式が入っているはずなんですが、確認をしたいんです。 IF関数で比較してみたんですが、どうも計算式ではなく 表示される結果を比べているようで思ったようになりません。 同じ計算式が入っているか確認するには どうしたらいいのでしょうか? 表はそれぞれ別の名前をつけて保存していて、同じフォルダーにはいっています。 よろしくお願いします。

みんなの回答

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

VBAでやらざるを得ないでしょう。 Sub test05() Set sh = Workbooks("book1").Worksheets("sheet1") For Each cl In Selection If cl.HasFormula Then ' MsgBox cl.Formula If cl.Formula <> sh.Cells(cl.Row, cl.Column).Formula Then Debug.Print cl.Row, cl.Column End If Next End Sub 1つのシートで式の入っているセルを範囲指定します。 もうひとつのシートについては、上記コードの中で、Book名のBook1とSheet名Sheet1を自分の例で変えてください。 すみませんよい例が手元になくて、実際テストしてませんがよろしく。

hatsuyuki
質問者

お礼

みなさま、回答をありがとうございましたm(__)m。 いろいろな方法を教えていただいたので、やってみたいと思っています。助かりました。ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#1さんと、かぶるところがありますが、 私は、数式を俯瞰的?にみるときに、 Ctrl+Shift+@ を押して調べています。(もどす時は、また、同じショートカットです) だから、メニューのウィンドウで、新しいウィンドウを開いて、シートを並べて、それで比較してみたらいかがでしょうか?

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

>表はそれぞれ別の名前をつけて保存していて、同じフォルダーにはいっています。 ここを見落としてました。 私が提示したマクロは同じブックの別シートの 表をチェックするものです。 失礼しました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

この例は、シート1のA1~D10に式が入っていて、 シート2の同じ範囲に式が入っていると仮定したもの です。 セル範囲が違う場合は s = "a1:d10" この部分を書き換えればOKです。 シートが違う場合も書き換える必要があります。 シート間で比較するセル範囲が違う場合はもう一工夫 必要です。 Sub hikaku() Dim c As Range Dim s As String Dim t As String s = "a1:d10" MsgBox s For Each c In Worksheets(1).Range(s) t = c.Address(0, 0) If c.Formula <> Worksheets(2).Range(t).Formula _ Then Worksheets(3).Range("a65536").End(xlUp).Offset(1).Value = c.Address(0, 0) Next End Sub

  • saodake
  • ベストアンサー率21% (51/233)
回答No.1

ツールでオプションで表示タグのウィンドウオプションで数式にチェックすれば数式が表示させることが出来ます。二つのファイルを開いてウィンドウの整列を使って比較する。(そのほか同じファイルなら新しいウィンドウを開くで2画面表示できます。)

関連するQ&A

  • excel計算式 保存するまで間違った結果が表示

    excelで、ある列にif関数を適用させました。しかし、誤のものも含めて全て正の結果が表示されてしまいます(例えば正だと"*"、誤だと""と指定しても、全てに*が付いてしまう)。困ったと思いましたが、とりあえず上書き保存させようと「上書き保存」のアイコンを押した瞬間、正しい計算結果が表示されました。別の列に似たようなif関数を使いましたが、同様の現象が起こります。これってよくあることでしょうか? こんな奇妙な現象が起きると、なんだか「上書き保存」を押したあとの計算結果にも、(ぱっと見 正しそうですが)「本当に正しいの?」と疑心暗鬼になってしまいます。

  • エクセル表のグループ分け

    以前ここで 「エクセル2010を使用しています。  表の項目の冒頭にA,B,C...などの記号で分類する用のセルをつけ、その分類ごと、  たとえばAと分類した項目のみ別の表に反映することは出来ますか?  ある表をA,B,C...で分類し、その中のAの項目のみを別の表にする感じです。  フィルターを使って特定の分類の項目だけを表示させる方法ならわかるのですが…」 と質問した者ですが、その時に帰ってきた回答が 「記載した項目をVLOOKUP関数で比較抽出し  同時にIF関数で抽出されたものに通し番号をつけ  再度VLOOKUP関数で通し番号の通りにつめて表示させる  でOKです。」 というものでした。しかし、私はVLOOKUP関数、IF関数を使ったことがないのでよくわかりません。 とりあえずネットを参考にしてVLOOKUP関数を使ってみたのですが、 今度は表の中にたくさんあるAの項目のうち1つしか表示されないという疑問が発生しました。 VLOOKUP関数をコピーしてみても表示されるのは上記の1種類のデータだけ… どうすれば表の中のAの項目をすべて抽出して別の表にすることができるのでしょうか?

  • エクセルとアクセスの比較です。

    エクセルとアクセスの比較です。 仮に、関数をセットしてエクセルシート上で結果を出すものと、同様な関数で、アクセス上で結果を出すのと、どちらが早いのでしょうか??アクセスにエクセルと同じ作業をさせるってことですが・・ ただし、データ抽出では無く、関数による計算です、もちろんパソコンも同じとしてです・・

  • excelの表を比較的簡単にHTMLに反映させる

    社内の簡易な掲示板のようなものを、HTMLで作成しています。 別に、座席表のようなものをエクセルで作成しています。定期的にこれが変更になります。 理想的には、Htmlとエクセルをローカルにおいて、掲示板のhtmlからエクセルを読みに行き、それをhtml上で表として表示させるのがよいです。 ただ、それはできないようなので、何か多少ステップを踏んでもできる方法はないかなと考えています。 例:エクセル表から、Google spreadsheetに表として貼り付け、そこへ読みに行く(これが簡単かな) エクセルから、CSV出力して同フォルダに保存して置き、何らかの形でCSVを読みに行く方法があれば、それを実行する。

  • 自分で作成したエクセルの表について。

    エクセルの表の中にSUM等の計算式がいくつもあるのですが、計算式が入っているセルだけに色づけ等で表示する事は可能でしょうか? あくまでも作成済みのエクセルから抽出(色づけ)したいのですが。 ちなみにIF関数等のもの(セル)は作成していません。 エクセル2013です。 わかりづらい質問で申し訳ございませんがよろしくお願いいたします。

  • エクセルで 比較して差を求める

    よろしくお願いします。 エクセル2010で三つの表があり、シリアルナンバー、英語名、 日本語名が書かれている票があります。 それぞれの表を比較して、同じ部分と違う部分をわかるようにしたいのですがどうすれば一番簡単でしょうか? 3つの表を比較して、シリアル番号は共通しているが、英語名、日本語名が違うもの (ある表では「1234- apple-りんご」となっているが「1234-apple-なし」となっているなど) など、シリアルナンバー、英語名、日本語名すべてが一致しているもの以外を抽出したいのです。 ある表にはあるけれど、別の表にはないシリアルナンバーの抽出などどのようにしていけばよろしいでしょうか? if関数で一致するかどうかなどやっていくという愚直な方法もあると思うのですが 効率的な方法があれば教えてください。 マクロやVBAは使えないので、関数式レベルでできる方法を教えてください。

  • Excelでファイルの中身の比較

    こんばんは。いつも大変お世話になっています。 Excel2000にて複数のファイルのシートの中身が同じかどうかを 比較し、違っているところに×をつける 汎用的に使えるものを作成したいと思っています。 思いついた方法としては 1.比較したいシートを(たとえば2つだったら)   同じファイル内にコピーする。 2.シート名をそれぞれ「前」「後」と変更する。 3.別シートに「相違結果」と名前をつけ、このシートに   If関数で「前」シートのA1と「後」シートのA1が同じ   なら○、ちがっていれば×という関数を入れる。 4.セル1から65536までこの関数をいれておく。 と思ったのですが、その作業をしている途中で 「リソースが足りません」といったメッセージがでてしまい、 「相違結果」シートは作成できませんでした。。 もし「相違結果」シートができたとしても、すごく時間が かかる&パソコンに負荷を与えてしまうのでしょうか。。。 なにかよい方法はありませんでしょうか? ネットでしらべていたら「対象セル」に名前をつけて 「条件つき書式」というものを使って行う方法は あったのですが、できれば、オートフィルタで 相違箇所をみつけたいので、書式(色を変えるなど)の 変更ではなく「×」とかいった表示にしたいのです。。。 よろしくお願いいたします。

  • エクセル表計算:「保存」を押さないと計算しない。

    エクセルの表計算において、普通は表中のデータを変更た時、変更されたデータに応じた計算結果が表れるのですが、あるファイルについては保存のボタンを押さないと結果が表示されません。普通のファイルのようにデータ変更時に計算結果も表示できるようにするにはどうしたらよいですか。

  • エクセルで合計を・・・

    エクセルでtotoの正誤表を作りました。 IF関数を使って、当たったら”Y”はずれたら”N”を表示させるだけの簡単なものです。 そしてその”Y”の数を、表の下に出そうとしたのですが、うまくいきません。 IF関数で求めた結果の、Yの数だけを数えて表示させるにはどうしたら良いのですか?

  • excel検索結果を表に

    excelですべて検索をかけると、結果が「検索と置換」の下に表形式でブック、シート、名前、セル、値、数式と表示され それらをクリックで情報にアクセスできるが、この結果を別のexcelシートとして移すことはできないものでしょうか。 どうかよろしくお願いします。

専門家に質問してみよう