MS Excelでシート別のデータを比較する方法

このQ&Aのポイント
  • MS ExcelでBOOK1でシート別にデータを格納し、BOOK2でBOOK1のシートのデータを読み込んで計算及び比較をする方法について質問です。
  • BOOK1にA,B,Cという3つのシートを作りデータを格納した後、BOOK2のSheet1でBOOK1のAとBのデータを参照して比較しました。その後、BOOK2のSheet1でBOOK1のAとCを比較する場合に、最初に使用したBのところにCのデータを入れて比較したいと思っています。
  • 置換で参照シートをBからCに変えて、参照データをBからCに変える方法は思いつくのですが、その他で何か方法はありますでしょうか?
回答を見る
  • ベストアンサー

MS Excelで、BOOK1でシート別にデータを格納し、BOOK2で

MS Excelで、BOOK1でシート別にデータを格納し、BOOK2でBOOK1のシートのデータを読み込んで計算及び比較をする時の質問です。 BOOK1にA,B,Cという3つのシートを作りデータを格納したとします。 BOOK2のSheet1でBOOK1のAとBのデータを参照して比較をしました。 続いて、BOOK2のSheet1でBOOK1のAとCを比較する場合に、最初に使用したBのところにCのデータを入れて比較したいと思っています。(その後同シートでBとCの比較もしたい) 置換で参照シートをBからCに変えて、参照データをBからCに変える方法は思いつくのですが、その他で何か方法はありますでしょうか?

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

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

どこかのセルに参照先条件を記述しておいて、INDIRECTでそのセル参照させれば、参照先を変更できそうです。

77morimori
質問者

お礼

ありがとうございます。 INDIRECT関数でできるようになりました。 助かりました。

関連するQ&A

  • book1シート1のデータを別bookシートに移す

    a1シート1のデータ1,2(データ1.5列G行~18列G行,~9000個、データ2.25列G行~38列G行,~9000個)を b1シート1,c1シート1に移行したいのですが、 a1シート1のデータは、9000個と9000個とします。 b1シート1,c1シート1は、16000個前後をできれば最大にしたいと考えています。 このとき移行したいb1シート1(5列G行~18列G行,~16000個)は最終行からでてしまいます。 でてしまう分をc1シート1(5列G行~18列G行,~2000個)に書き移したいと思っています。 分かりやすくと思い9000個と書きましたが、データにより数は、異なっています。 このとき、データ1とデータ2の連結は、空白行なしです。 b1シート,c1シートは、a1シートとは、別bookです。 こんなときのマクロを教えていただければと思い質問しました。 マクロ記録でしましたが、うまくできませんでした。 コードを教えていただけませんか。 よろしくお願いします。 m2010です。

  • データを別bookシートに移す

    a1シート1のデータ1,2(データ1.5行G列~18行G列,~9000個、データ2.25行G列~38行G列,~9000個)をb1シート1,c1シート1に移行したいのですが、 a1シート1のデータ1,2は、9000個と9000個とします。 b1シート1,c1シート1は、16000個前後をできれば最大にしたいと考えています。 このとき移行したいb1シート1(5行G列~18行G列,~16000個)は最終列からでてしまいます。 出てしまう分をc1シート1(5行G列~18行G列,~2000個)に書き移したいと思っています。 分かりやすくと思い9000個と書きましたが、データにより数は、異なっています。 このとき、データ1とデータ2の連結は、空白行なしです。 b1シート,c1シートは、a1シートとは、別bookです。 こんなときのマクロを教えていただければと思い質問しました。 マクロ記録でしましたが、うまくできませんでした。 コードを教えていただけませんか。 よろしくお願いします。 m2010です。  a1シート1 /ABCDEFGHI-------------MHJ 1データ1 2------9000個 3 4 5------○○~~~~~○○ 6------○○~~~~~○○ 7------○○~~~~~○○ . . . 17-----○○~~~~~○○ 18-----○○~~~~~○○ 19 . . 23データ2 24-----9000個 25-----○○~~~~~○○ 26-----○○~~~~~○○ . . . 37-----○○~~~~~○○ 38-----○○~~~~~○○ 39 b1シート1 /ABCDDEFGHI-----------MHJ-------WQP 1データ1,データ2 2-------16000個 3 4 5-------○○~~~~~○○~~~○○ 6-------○○~~~~~○○~~~○○ 7-------○○~~~~~○○~~~○○ . . . 17------○○~~~~~○○~~~○○ 18------○○~~~~~○○~~~○○ 19 データ1,データ2の継ぎ目に空白なし。 マクロの記録では、 Sub Macro1() ' ' Macro1 Macro ' ' Range("G5").Select ActiveSheet.Paste Range("MHJ5").Select ActiveSheet.Paste Range("F4").Select End Sub c1シート1 /ABCDEFGHI~~ 1データ2の残り 2------2000個 3 4 5------○○~~○○ 6------○○~~○○ 7------○○~~○○ . . . 17-----○○~~○○ 18-----○○~~○○ 19 この質問は、難しいのでしょうか。 書き方がわるいのでしょうか。 よろしくお願いします。

  • エクセルのシート名の参照

    エクセルでブック1とブック2があり、それぞれ日付別に1~31のシートがあります。 ブック1は日報のような内容となっており、ブック2でブック1のデータを参照して、計算をしております。 ブック2の計算式が月ごとに変わるのですが、ブック2のシート1に数式を入力し2~31にコピー&ペーストし、置換を使用して参照シート名を1から2~31へと置換しているのですが、間違いや変更のたびにやりなおしとなり、かなり手間となっています。 何か良い方法は無いでしょうか? 分かりにくくてすいません。

  • リンクが張られないように別のブックへシートをコピーできませんか?

    book1とbook2のファイルがあります。 二つのbookのシートの書式は同じです(データだけ違います) book1で各シートの内容を集計するシートを作ったので 同じ様式のbook2にシートをコピーして使おうと思ったのですが、 セルの内容が =sheet1!A2 から =[book1.exl]sheet1!A2 のように変わってしまいます。 リンク部分を一つ一つ消していけば使えるのですが数が多いですし、 事情があってbook1自体をコピーしてbook2として使うことができません。 置換を使って消す方法も考えたのですが、操作が複雑になるとパソコンに詳しくない人が使えなくなってしまいます。 なんとか簡単に一括で消すか、リンクが張られない方法がないでしょうか。

  • Book1.xlsとBook2.xlsのエクセルファイルが有ります。

    Book1.xlsとBook2.xlsのエクセルファイルが有ります。 VBAを作成しているのはBook2.xlsで操作しています。 Book1 Sheet1 A B C 1 6 4 2 2 8 5 3 3 5 1 4 . Book1のシートのB列とC列には整数が入力されています。 A列には計算式が入ります。 例)A1の計算式 =B1+C1 A2の計算式 =B2+C2 A列の結果をBook2 Sheet1 のA列に反映しようとした場合に、 以下のVBAだと、計算式のコピーになってしまうので、計算結果の値を反映する事が出来ません。 A列の計算結果(上記の例だと、6,8,5)をまとめて反映させる方法はありますか? Sub tashizan() Dim thisBook As Workbook Dim workBook1 As Workbook Set thisBook = ThisWorkbook Set workBook1 = Workbooks.Open("C:\Documents and Settings\Book2.xls") thisBook.Worksheets("Sheet1").Range("A1:A100").Copy workBook1.Worksheets("Sheet1").Range("A1") workBook1.Close End Sub 初心者ですので、宜しくお願いします。

  • エクセル:シートのコピーで計算を反映させる方法

    (1)エクセルでbook1とbook2があります。 (2)book2のシート1とシート2にデーターがありシート3に1と2の色々計算した結果があります。 (計算式はシート3のみシート1・2はデータのみ) (3)book1にシート1とシート2はbook2の表と同じでそこにデーターを打ってもらってます。 (book1はシート1・2のみでシート3はない) ● (4)現在はbook1とbook2を両方開いて、book1のシート1・2をコピーしてbook2にシート1・2に貼り付け book2のシート3で計算シートでデータを集計しております。 ●質問 (5)book2のシート3をbook1へ末尾へコーピーすると計算式がbook2のままでうまくいきません。 シートのコピーで計算を反映させる方法を教えてください。

  • MS Excelで2行ごと集計する方法を教えてください。

    MS Excelで2行ごと集計する方法を教えてください。 下記のように各月上期・下期に分かれたExcel入力データがあります。 A B C .... 1 7月 上期 25 2 下期 30 3 8月 上期 42 4 下期 19 . . それを同ブックの別シートに月ごとに集計したいのです。 A B.... 1 7月 55 (→C1+C2) 2 8月 61 (→C3+C4) . . オートフィル使うと1行分が重なって集計されてしまいますし、 ひとつひとつ計算式を入れるには、膨大すぎるほどデータがあるのです。 お知恵をお貸しください。

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • Excelでブックをまたいでシートをコピーした時に、元のブックを参照させない方法

    Excelでブックをまたいでシートをコピーした時に、 元のブックを参照しないようにしたいです。 BOOK_AというブックのシートにBOOK_Aのブック内のセルを参照する式が ある場合、そのシートをBOOK_Bというブックにコピーすると、 式の中の参照先のセルを示す部分に自動的に[BOOK_A]が追加されて、 BOOK_Aを参照してしまいます。 ここではBOOK_B内のシートを参照してほしいので、そのままの式で コピーしたいのですが、可能でしょうか? よろしくお願いいたします。

  • EXCEL 参照のリンクのコピペ を別のBookに

    Book1のSheet1のA1セルに 「=Sheet2!A1」 とシートをまたがったリンクがあります。 このような参照セルがA100セルまであり、参照先は無秩序です。 この縦100個のセルをコピーして Book2のSheet1のA1セルに貼り付けると 「=[Book1]Sheet2!A1」などのように [Book1]がくっついてきてしまいますが、実際に参照させたいのは同じBook内のSheet2!A1です [Book1]をはずして一気に100個の無秩序な参照先をBook2のSheet1に貼付けをする方法はありますか? もしなければ、マクロを使って、 "[" から "]" までを削除する方法でもかまいません。 宜しくお願いします。