• ベストアンサー

異なるシートに同じ雛形のデータがあって相違点を見つける方法?

ExcelでA~H列、2~2817行にデータがあって同様のシート(sheet1~3)が3つあります。 それらのシートの内容はほとんど同じなのですが、一部相違点があります。 これらのシートの各セルの相違点を何らかの関数などを使って、自動的にどこかにそれらを表示させるようなことは出来ないでしょうか? 「MATCH」という関数がありますが、これを使うのでしょうか? そうだとしたらどのように使うのでしょうか? よろしくお願いいたします。

  • Youyou
  • お礼率64% (2254/3473)

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

  • ベストアンサー
  • _mya_mya
  • ベストアンサー率41% (7/17)
回答No.3

補足欄の方法です。 差異がない部分が空白となりますし、もう少し良い方法があると思いますが… handomariさんと同様、 Sheet4 A2セルに =IF(Sheet1!A2=Sheet2!A2,IF(Sheet1!A2=Sheet3!A2,"",3),2) と入力、「A2:H2817」にコピー Sheet4 J2セルに =COUNT(A2:H2) と入力、「J2:J2817」にコピー Sheet4 L2セルに =IF($J2=0,"",IF(A2=2,Sheet2!A2,IF(A2=3,Sheet3!A2,Sheet1!A2))) と入力、「L2:S2817」にコピー

Youyou
質問者

お礼

補足の補足です。 #1のお礼欄に補足した方法は無理でしょうか?

Youyou
質問者

補足

ありがとうございます。 知識不足な質問になりますが、J列とL列に表示される数値は何なのでしょうか? 解説をお願いいたします。

その他の回答 (3)

  • _mya_mya
  • ベストアンサー率41% (7/17)
回答No.4

「A2:H2817」と「J2:J2817」は作業用セルです。 セルに関数式を入れると、このように表示されます。 (Sheet3 D4 を「テ」としました)   A B C D E   J   L M N O P 1  2   2       1   か キ く け こ 3           0   4      3    1   た ち つ テ と 「A2:H2817」   Sheet1と違う部分を表示   「2」~ Sheet2 が違う   「3」~ Sheet3 が違う 「J2:J2817」   その行にSheet1と違う部分があるかどうかを表示   「1」~ 違う部分がある   「0」~ 違う部分がない 「L2:S2817」   行にひとつでも違う部分があれば、表示   (違う部分がなければ、空白)

Youyou
質問者

お礼

ありがとうございます。 とてもいい勉強になりました。

  • meron_
  • ベストアンサー率40% (51/127)
回答No.2

Excelのバージョンを教えてください。

Youyou
質問者

補足

Excel2003ですが、Excel2000で同様の作業をすることもあります。

  • handomari
  • ベストアンサー率47% (83/174)
回答No.1

相違点を調べるだけであれば、Sheet4を用意して、A2のセルに「=IF(Sheet1!A2=Sheet2!A2,IF(Sheet1!A2=Sheet3!A2,"","1=2≠3"),"1≠2")」と入力して、A2:H2817にコピーするだけでいいんじゃないですか? 結果として、1=2≠3や1≠2が表示されたセルが相違点ですね。

Youyou
質問者

お礼

お礼欄ですが、補足の訂正をさせていただきます。 例えばsheet1が下記   A    B     C     D    E 1  あ   い    う     え    お 2  か   き    く     け    こ 3  さ   し    す     せ    そ 4  た   ち    つ     て    と 5  な   に    ぬ     ね    の sheet2が    A    B    C     D    E 1  あ   い    う     え    お 2  か   キ    く     け    こ 3  さ   し    す     せ    そ 4  た   ち    つ     て    と 5  な   に    ヌ     ね    の sheet3が    A    B    C     D    E 1  あ   い    う     え    お 2  か   き    く     け    こ 3  さ   し    す     せ    そ 4  た   ち    つ     て    と 5  な   に    ヌ     ね    の だとした場合にsheet3に    A    B     C     D    E 2  か   き    く     け    こ 2  か   キ    く     け    こ 2  か   き    く     け    こ 5  な   に    ぬ     ね    の 5  な   に    ヌ     ね    の 5  な   に    ヌ     ね    の と表示させる 要するに3つのシートの各行を比較し、その結果1箇所でも違う行が検出された場合に、3つのシートの全ての行を並べて表示させる、ということです。 可能でしょうか? 無理であれば前述「補足欄」の方法でも構いません。 それでも無理なら何かいい方法があるかどうかご教示ください。 それも無理なら諦めるしかないですかね? よろしくお願いいたします。

Youyou
質問者

補足

ありがとうございます。 すみません。この方法もなかなかすばらしいのですが、こういうふうには出来ないものでしょうか? sheet1~3で行単位で(無理ならセル単位でも可)相違点をチェックし、相違点をsheet4に「1=2≠3」や「1≠2」というふうにではなくその行そのものを表示させる 例えばsheet1が下記   A    B     C     D    E 1  あ   い    う     え    お 2  か   き    く     け    こ 3  さ   し    す     せ    そ 4  た   ち    つ     て    と sheet2が    A    B     C     D    E 1  あ   い    う     え    お 2  か   キ    く     け    こ 3  さ   し    す     せ    そ 4  た   ち    つ     て    と だとした場合にsheet3に    A    B     C     D    E 2  か   キ    く     け    こ と表示させる 可能でしょうか? よろしくお願いいたします。

関連するQ&A

  • EXCELの関数で別のシートからデータを取り出す方法について

    こんばんは。 excelの関数で次のようなことができますか? sheet1 A     B   C 123 125 122 sheet2 A    B    C     D 122            りんご 123           みかん 125            バナナ 上記のようなデータがsheet1とsheet2にあります。 sheet1のC列にA列のセルの番号と対応した商品を sheet2のA列とD列に対応データから引用できますか? (となりに並んでいないデータです。) 関数的にはvlookup,index,matchとかを使うとよさそうですが うまくいきません。 解決方法を教えてください。 よろしくお願いします。

  • エクセルのA列に入力したデータを別シートと連動させる方法

    エクセル2000です。 A列   B列   C列 言葉   意味   例文 とシート1に入ってるデータがあります。 500行程入っているのですが、A列のデータだけをシート2にコピーして一覧で見られるようなシートを作りたいと思っています。 でもA列だけだと縦長でとても見づらいため、B列以降も使い全て20行位にしたいのですが、A列だけをコピーしてシート2に貼り付けた時に自動で各列20行位に収まるような関数やマクロの方法ってありますでしょうか? また今後もシート1、A列の言葉が増えた時にシート2も関連して増えるようにすることも出来ますでしょうか? どうか教えて下さい!

  • Excelのシートからシートへデータを移動したい

    Excelのシートで作成されている申込書(シート)があり、現在はその申込書シート(セル)に記載されている情報を別のシート(顧客データとして管理しているシート、複数行存在しています)に手入力しています。 この手入力の作業をマクロか関数で簡単にしたいのですが、下記の点がクリアできる良い案が分かる方がいたら教えて頂きたいです。 (1)申込書シートは顧客データシートに情報を移動したら、都度上書きしていきたい⇒申込書シートは同じbookで管理しないため(上書きについては申込書内容を都度手作業で貼り付けするつもりです) (2)顧客データシートは顧客が増える毎に2行目、3行目・・・というようA列が空欄になっている一番上に、申込書データの内容が反映されるようにしたい。 (3)貼り付けられたデータ(セル)は関数ではなく、値(文字)が貼り付けられるようにしたい。((1)のように申込書シーは都度上書きしたいため) 分かりづらい質問で申し訳ありません。。 ちなみにマクロは作成したことがありませんが、マクロでできるのであれば挑戦したいと思っています。 ご回答よろしくお願い致します。

  • EXCELで複数のシートからデータを別シートに出す方法

    EXCELで複数のシートからデータを別シートに出す方法 EXCEL2007でデータが1シートに100行/10列ある物が10シートあります。 この10シートの任意の行にA~Dを付けて、別シート(Aシート~Dシート)に A~Dを付けた行を表示させたいのですが、方法がわかりませんでした。 ご教示お願いします。 また、可能なら別シートに表示させる時、10列ある物を4列にしたいのですが。 よろしくお願いします。

  • マクロでVLOOKUPを使用した複数シートのデータを一覧シートへ

    VLOOKUP関数を使用してシートを跨いでデータを一覧へもってくることができないようなので、 マクロを使用して以下のような作業をしたいです。 【Sheet1】:データベース(1)    A列  B列 1行 0001  あ 2行 0003  う 【Sheet2】:データベース(2)    A列  B列 1行 0002  い 2行 0004  え 3行 0005  お というデータから 【Sheet3】:一覧    A列  B列 1行 0001  あ 2行 0002  い 3行 0003  う 4行 0004  え 5行 0005  お を作成したい。 データベース(1)(2)は各々で全て手入力をし、 一覧のA列は予め入力しておき、B列の情報だけを一覧シートにもってくるという内容です。 (実際はセル数もシート数ももっと多いです) Application.WorksheetFunction.VLookup()を使うのかな? とは過去の質問から、なんとなく想像はつくのですが 素人なもので、例文を見てもよくわかりません・・・。 ご教授いただけると大変助かります。 よろしくお願い致します。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • シート間の参照について

    EXCELを使用しています。 Sheet1のA1から下の行に、sheet2のA1から下のセルに文字列が入力されていたら入力されているセルの内容を行ごとに表示しセルが空欄になったらsheet3のA1から下のセルに文字列が入力されていたらその内容をsheet1にsheet2の文字列の続きに表示させるにはどうしたらいいのでしょうか?

  • エクセルの各シートをアクセスで結合するには

    お世話になります。 1つのエクセルファイルに同じ書式のシートが複数あります。1行目がタイトル行で2行目以降にデータが入っています。 この各シートのA2セルからM列の最終行までの範囲のデータを順番にアクセスに取り込み一つのテーブルを作成したい。各シートのデータを縦に結合するイメージです。行数は各シートバラバラです。また各シートの列数はM列より多いが必要なのはM列までです。 最初のシートだけタイトルが必要なのでA1セルから取り込みます。 縦に並べるとエクセルの最大行数を超える可能性があるので一旦エクセル上で縦に並べることは考えません。 アクセスに取り込んだ際、主キーになる項目がないので左端に1からの連番の列を作ります。 以上のことをするためにはどのようにすれば良いのでしょうか?シートがかなりあるので自動化できればうれしいです。 空シートはありませんが、空白のセルはあります。 よろしくお願いします。

  • Excel 微妙に違う2つのシートのデータをリンクさせる

    ある程度 同じデータのブック1とブック2があり、 ブック1は祭日などデータが無い日も日付があり、行が確保されていますが、 ブック2は祭日などデータが無い日は行が抜いてあります。 A列:日付、B列:曜日 C列:データ1、D列:リンクを入れる 04.11.22 月 56  =[ブック2.xls]シート1!H2 04.11.23 火  04.11.24 水 50  =[ブック2.xls]シート1!H3 04.11.25 木 52  =[ブック2.xls]シート1!H4 04.11.26 金 49  =[ブック2.xls]シート1!H5 04.11.29 月      04.11.30 火 A~C列はブック1、2とも同じデータです。(現在ブック1は1400行、ブック2は1300行くらい) D列にブック2のH列のデータを表記したいのですが、ドラッグなどでは行がずれてしまいます。 関数かマクロなど、何か良い方法を教えて下さい。 下記のことにも対応できれば更に便利なのですが・・。 ブック2のH列は時々J列とか他の列(表範囲内)に移動します。 そしてたまにはブック2のシート1もブック1に移動したりブック2に戻したりもします。

  • エクセル 複数シートのデータをまとめたい

    他の質問を参照したのですが、できないのでお願いします。 新しいシート(ブックでもいいです)に次のデータを ひとまとめにしたい。 外国語テストのデータです。 (1)ひとつのブックにシートが十枚ある (2)列a2~h2 行2~29までデータがある。 (3)列a番号(a2が1、a29が28)  列b空欄  列c日本語  列d外国語 この構造を倍にしているのでa~hにデータが並んでいる。 これを、 つまり、8×28のデータが各シートにあるわけですが 【ひとつ】 できればシート1のデータの下 29行目からシート2のデータ、58行目からシート3… というように並べたい。 【ふたつ】 更にできるならa~dの下にe~hを持ってきて 4×56の並びにして 57行目からシート2のデータ…というように並べたい。 データの並びは列a列eの番号順を保持できたらうれしいです。 どうぞよろしくお願い致します。

専門家に質問してみよう