- ベストアンサー
Excel「シートの内容比較」方法を教えて下さい!
Excelのシート1とシート3の内容を比較したいです。 シート1は現状、シート3は昨年度の内容。 Aの列に「no.」があり、そのナンバー毎の行の内容を比較するのですが、 ナンバーが多数です・・・。 過去から現状に変わったところを知りたいのですが、 私のチェックでは「漏れ」が有りそうなので、ぜひ、Excelの能力を借りたいです。 方法をご存知の方、教えてください。どうぞよろしくお願いします。
- fffjjj
- お礼率1% (17/1168)
- その他([技術者向] コンピューター)
- 回答数4
- ありがとう数0
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ナンバーの中で、前年までは使われていたが、今年からは使われなくなったものがある場合などには、Sheet1とSheet3でナンバーが入力されている行がずれてしまう事が考えられます。 以下の方法は、ナンバーの並んでいる順番がSheet1とSheet3で全く異なっている場合でも有効な方法です。 【方法その1】 条件付き書式を使用して、Sheet1とSheet3の間で、「同じナンバーでありながらデータが異なっている箇所」と「片方のシートにしか存在していないナンバーの行」のセルの色を変える方法です。 今仮に、Sheet1やSheet3のA列~D列にデータが入力されていて、2行目には「No.」等の項目名が入力されていて、実際のデータは3行目以下に入力されているものとします。 その場合、以下の様な操作を行って、Sheet1及びSheet3のA列~D列の3行目以下に条件付き書式を設定して下さい。 Sheet1のA3セルを選択 ↓ Excelウィンドウの[ホーム]タブをクリック ↓ 現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック ↓ 現れた選択肢の中にある[ルールの管理]をクリック ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =AND(A3<>"",ISERROR(1/(A3=VLOOKUP(INDEX($A:$A,ROW()),Sheet3!$A:A,COLUMNS($A:A),FALSE)))) と入力 ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック ↓ 現れた背景色のサンプルの中にある赤色の四角形をクリック ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄をクリック ↓ Sheet1のA列~D列の3行目以下のセル範囲(表のデータ入力欄の全て)をまとめて範囲選択 ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック ↓ Sheet3のA3セルを選択 ↓ 「スタイル」グループの中にある[条件付き書式]ボタンをクリック ↓ 現れた選択肢の中にある[ルールの管理]をクリック ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =AND(A3<>"",ISERROR(1/(A3=VLOOKUP(INDEX($A:$A,ROW()),Sheet1!$A:A,COLUMNS($A:A),FALSE)))) と入力 ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック ↓ 現れた背景色のサンプルの中にある赤色の四角形をクリック ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄をクリック ↓ Sheet3のA列~D列の3行目以下のセル範囲(表のデータ入力欄の全て)をまとめて範囲選択 ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック 方法その1は以上です。
その他の回答 (3)
- celtis
- ベストアンサー率70% (2271/3210)
- kagakusuki
- ベストアンサー率51% (2610/5101)
【方法その2】 Sheet1とSheet3の間で、「同じナンバーでありながらデータが異なっている箇所」と「片方のシートにしか存在していないナンバーの行」のデータのみを抽出して、Sheet4上に表示させる方法です。 今仮に、Sheet1やSheet3のA列~D列にデータが入力されていて、2行目には「No.」等の項目名が入力されていて、実際のデータは3行目以下に入力されているものとします。 又、Sheet4のB1セルには「Sheet1」、B2セルには「Sheet3」という具合に比較する2枚のシートのシート名をそれぞれ入力するものとします。 又、Sheet4のH列とI列を作業列として使用するものとします。 まず、Sheet4のH3セルに次の関数を入力して下さい。 =IF(ISERROR(ROW(INDIRECT("'"&$B$2&"'!A1"))/(INDIRECT("'"&$B$1&"'!A"&ROW())<>"")),"",IF(COUNTIF(INDIRECT("'"&$B$1&"'!A1:A"&ROW()),INDIRECT("'"&$B$1&"'!A"&ROW()))-1,"",IF(SUMPRODUCT(ISERROR(1/(VLOOKUP(INDIRECT("'"&$B$1&"'!A"&ROW()),INDIRECT("'"&$B$2&"'!A:D"),{1,2,3,4},FALSE)=VLOOKUP(INDIRECT("'"&$B$1&"'!A"&ROW()),INDIRECT("'"&$B$1&"'!A:D"),{1,2,3,4},FALSE)))*1),COUNTIF(INDIRECT("'"&$B$2&"'!A:A"),"<"&INDIRECT("'"&$B$1&"'!A"&ROW()))+COUNTIF(INDIRECT("'"&$B$1&"'!A:A"),"<"&INDIRECT("'"&$B$1&"'!A"&ROW())),""))) 次に、Sheet4のI3セルに次の関数を入力して下さい。 =IF(ISERROR(ROW(INDIRECT("'"&$B$1&"'!A1"))/(INDIRECT("'"&$B$2&"'!A"&ROW())<>"")),"",IF(COUNTIF(INDIRECT("'"&$B$1&"'!A:A"),INDIRECT("'"&$B$2&"'!A"&ROW()))+COUNTIF(INDIRECT("'"&$B$2&"'!A1:A"&ROW()),INDIRECT("'"&$B$2&"'!A"&ROW()))-1,"",IF(SUMPRODUCT(ISERROR(1/(VLOOKUP(INDIRECT("'"&$B$2&"'!A"&ROW()),INDIRECT("'"&$B$1&"'!A:D"),{1,2,3,4},FALSE)=VLOOKUP(INDIRECT("'"&$B$2&"'!A"&ROW()),INDIRECT("'"&$B$2&"'!A:D"),{1,2,3,4},FALSE)))*1),COUNTIF(INDIRECT("'"&$B$1&"'!A:A"),"<"&INDIRECT("'"&$B$2&"'!A"&ROW()))+COUNTIF(INDIRECT("'"&$B$2&"'!A:A"),"<"&INDIRECT("'"&$B$2&"'!A"&ROW())),""))) 次に、Sheet4のH3~I3の範囲をまとめてコピーして、同じ列の4行目以下に貼り付けて下さい。 次に、Sheet4のA5セルに次の関数を入力して下さい。 =IF(INT(ROWS($4:5)/2)>COUNT($H:$I),"",IFERROR(INDEX(INDIRECT("'"&$B$1&"'!A:A"),MATCH(SMALL($H:$I,INT(ROWS($4:5)/2)),$H:$H,0)),"")&IFERROR(INDEX(INDIRECT("'"&$B$2&"'!A:A"),MATCH(SMALL($H:$I,INT(ROWS($4:5)/2)),$I:$I,0)),"")) 次に、Sheet4のB5セルに次の関数を入力して下さい。 =IF(OFFSET($A5,-MOD(ROWS($5:5)-1,2),,)="","",INDEX($B$1:$B$2,MOD(ROWS($5:5)-1,2)+1)&"") 次に、Sheet4のC5セルに次の関数を入力して下さい。 =IF($B5="","",IF(OR(ISERROR(1/(VLOOKUP(OFFSET($A5,-MOD(ROWS($5:5)-1,2),,),INDIRECT("'"&$B5&"'!A:D"),COLUMNS($C:C),FALSE)<>"")),IFERROR(VLOOKUP(OFFSET($A5,-MOD(ROWS($5:5)-1,2),,),INDIRECT("'"&$B5&"'!A:D"),COLUMNS($C:C),FALSE),"")=IFERROR(VLOOKUP(OFFSET($A5,-MOD(ROWS($5:5)-1,2),,),INDIRECT("'"&INDEX($B$1:$B$2,MOD(ROWS($5:5),2)+1)&"'!A:D"),COLUMNS($C:C),FALSE),"")),"",VLOOKUP(OFFSET($A5,-MOD(ROWS($5:5)-1,2),,),INDIRECT("'"&$B5&"'!A:D"),COLUMNS($C:C),FALSE))) 次に、Sheet4のA5セルとA6セルを結合して下さい。 次に、Sheet4のB5セルをコピーして、Sheet4のB6セルに貼り付けて下さい。 次に、Sheet4のC5セルをコピーして、Sheet4のC5~F6の範囲に貼り付けて下さい。 次に、Sheet4のA5~F6の範囲をまとめてコピーして、同じ列の7行目以下に貼り付けて下さい。 以上です。
私だったら、ですが、簡単に それぞれシート番号を入れる列を追加し、1、3と入れておく。 シート1とシート3を別のシートに混ぜてコピーする。 No.をキーにしてソートする。 未使用の列に、直上のセルと相違がある場合の表示を出す関数を入れる。たとえば、a列がNo、b列が比較したい項目,c列が上記で追加したシート番号のとき、d列すべてに =if(a2=a1,if(b2=b1),"","※")) などと入れておけば、シート1とシート3の同じNo.のBに相違がある行に※が表示されます。
関連するQ&A
- エクセルの2つのシートを比較
エクセルで2つのシートのA列に値が入っています。 それぞれのA列を比較して同じ値であればシート1のB列をコピーしてシート2のB列に貼付。 ということはVBAで可能でしょうか? ※行番地はばらばらです。 ※A列の値がダブルことはありません。 例) シート1 シート2 A列 B列 A列 B列 111 あああ 111 222 いいい 333 333 ううう 555 444 えええ 444 555 おおお 666 結果 シート1 シート2 A列 B列 A列 B列 111 あああ 111 あああ 222 いいい 333 ううう 333 ううう 555 おおお 444 えええ 444 えええ 555 おおお 666 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- excelで2つのシートを比較し、新しいシートへ
初めまして。 同じような内容で、いくつか調べさせていただいたのですが、その内容を自分の内容に照らし合わせてトライしてみたのですが、うまくいかなかったため、質問させていただきます。 Excel2010 での関数について質問です。 1:シートが2つあります。((1)と(2)とします。) 両方のシートには1000行くらいのデータが両方入っています。列の項目は一緒です。 2:シート(3)に(1)と(2)のB列を比較して、 ・(1)に合って、(2)にない時は(1)のデータ ・(1)にも(2)にもある場合は(2)のデータ ・(2)にのみある場合は(2)のデータ をシート(3)に作ります。 *この際、(1)と(2)の両方にBの数値があった場合には、さらにA列を比較し、A列とB列がシート(1)と(2)で完全に一致した場合には(2)のデータ。Bの数値が一緒でも、A列のデータが違う場合には(1)も(2)もシート3に表示したいです。 イメージとして画像を添付しました。 シート3に関数を入れるだけで上記条件が表示できればいいのですが、出来なければシート1,2にkeyとなる列を挿入して、それを軸としてシート3にするものなのか。 元々の理解が薄いため、購入した本も今回はどの関数を使用すべきか判断が付きませんでした。 同じような質問がある。とお叱りがあるかもしれませんが、いくつか試してみて出来なかったため質問させていただきます。 今回、急ぎで解決が必要なため、初めて登録し投稿させていただきます。 追加で必要な情報等ありましたら、ご指摘いただけますと幸いです。 宜しくお願い致します。
- 締切済み
- オフィス系ソフト
- エクセル関数(シートの比較)を教えて下さい
A列にある部品の型番が入っており、同じ行のB列以降に詳細内容が入っています。 B列以降の数は型番によってバラバラです。 Sheet1,2で同じ型番同士で比較し、B列以降の詳細内容が異なるものを Sheet3に書き出したいのです。 たとえば、 Sheet1の内容が、 A列 B列 C列 D列 E列 5001 A1 B5 F3 Z4 5002 E6 C2 A7 5003 B9 M8 Sheet2の内容が、 5001 A1 B5 5002 E6 C1 A6 5004 B9 M8 結果として、 5001 F3 Z4 5002 C1 A6 5003 B9 M8 5004 B9 M8 このような場合、どうすればいいのでしょうか。 なるべくなら関数がいいのですが、無理ならばVBAでもかまいません。 Excel2000です。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで2つの列のセルの内容の比較と取り出し方法
はじめまして。 エクセルの使い方を教えてください。 2つのエクセルファイル(または同じファイルの異なった)列にあるセルの内容を比較してどちらにも共通する内容のセルまたはどちらにも含まれてないセルの内容を取り出して適当なところに置く。セルの内容は文字または数字とします。 又、共通するセルは、そのセルの背景に色をつけるなどを行う。列の長さは任意とします。実際の一列の長さは1000行を超えることもあります。 例 列Aはブランクも含めて8行、列Bは3行とします「質問する」とすると列が乱れてしまいますので列の境を¥で示します ¥ 列A ¥ 列B 行1¥ 3-4 ¥ 2-4-3 行2¥ 2-4-3¥ 5-1 : ¥ 4-1 ¥ 3-4 : ¥ 5-1 ¥ : ¥ 2-5 ¥ : ¥ ¥ : ¥ 3-4 ¥ 行8¥ 23 ¥ 演算の結果 色付けは此処ではできませんのでつけません。 -並べる順序は適当とします--- ¥列A ¥ 列B ¥ 共通セル¥不一致セル 行1¥ 3-2 ¥ 2-4-3 ¥ 2-4-3 ¥ 3-2 行2¥ 2-4-3 ¥ 5-1 ¥ 3-4 ¥ 4-1 : ¥ 4-1 ¥ 3-4 ¥ 5-1 ¥ 2-5 : ¥ 5-1 ¥ ¥ ¥ 23 : ¥ 2-5 ¥ ¥ ¥ (Blank) : ¥(Blank)¥ : ¥ 3-4 ¥ 行8 ¥ 23 ¥ 以上よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルの比較一致を別シートに書き出し!
エクセルで別々のシートで比較一致したシートを別のシートに自動で書き出しが出来るようにしたいのですがどうやって良いのか分からないので教えてください! まず、sheet1に下記の表があります。 A列 B列 C列 D列 E列 1行 部品1 c1 c2 c3 c4 2行 部品2 r1 r2 r3 次にsheet2は下記の表があります。 A列 1行 c1 2行 r1 3行 c2 4行 r2 5行 r3 6行 c3 7行 c4 このsheet1とsheet2と比較させて、一致した内容をsheet3を下記のように表示させることは、出来ますか?(部品1=c1,c2,c3,c4 部品2=r1,r2,r3) A列 B列 1行 c1 部品1 2行 r1 部品2 3行 c2 部品1 4行 r2 部品2 5行 r3 部品1 6行 c3 部品1 7行 c4 部品1 以上、お手数ですがよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCEL(2枚のSheetの比較・抽出)
iwao32と申します。 EXCELについてまた教えてください。(まだまだど素人で、基本的な質問で申し訳ありません。) 以下の例で示します。 Sheet1 Sheet2 A列 B列 C列 A列 1 10 a 2 2 20 b 4 3 30 c 5 4 40 d 5 50 e という2枚のSheetがあるとき、Sheet1のA列とSheet2のA列を比較して、Sheet1の中で、Sheet2のA列にあるものだけ、Sheet3に、 Sheet3 A列 B列 C列 2 20 b 4 40 d 5 50 e というものを作りたいのですが、やり方をお教えください。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- sheetの比較処理
(条件)エクセルでsheet1、sheet2とsheet3があります。 なおsheet3はsheet1のコピーです。 (処理) sheet1、sheet2を(100行×7列)の範囲で各セルを比較し、 もし内容が違うのであれば、対応するsheet3セルを黄色で色付けしたい。 処理どうすればいいか。以上宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelでの値の比較
エクセルにおいて、sheet2のA列とB列をsheet1のA列とB列を比較して、一致した場合sheet2のD列に下記のような結果を示すようにしたいのですが、どうやってD列に関数を組めばよいのか分からないので教えてください! 【sheet1】 A列 B列 C列 1行 001 AAAA 部品1 2行 002 BBBB 部品2 3行 003 CCCC 部品3 4行 004 DDDD 部品4 5行 005 EEEE 部品5 6行 006 FFFF 部品6 7行 007 GGGG 部品7 【sheet2】 A列 B列 C列 D列←この列に関数で○か×をつける 1行 001 AAAA 部品1 ○←sheet1にあるので○ 2行 008 HHHH 部品8 ×←sheet1にないので× 3行 004 DDDD 部品4 ○ 4行 009 IIII 部品9 × 5行 005 EEEE 部品5 ○ 6行 002 BBBB 部品2 ○ 7行 010 HHHH 部品10 ×
- ベストアンサー
- その他MS Office製品
- マクロを使ってシートの内容を一つのシートにまとめたい
3つのシートより多いシート(それが4つ、5つ、6つ・・・かは時により違います)に書かれている内容を一つのシート「統合」にまとめたいと思っています。 左から3つのシートは固定してあり、それは対象外です。 対象となる各シートの内容というのは、列はC列まで、行はせいぜい10行ぐらいです。 イメージとしては シート4 シート5 シート6 シート7 という感じです。上の例ではシート4とシート5の間には2列の間隔、 シート4とシート6の間にも2行の間隔があればいいと思っています。 シートの内容というのは、列はCまでで、A1には必ず何か入っていて、A2がプランクでA3からはデータが連続しています。 このような条件ですが、マクロで統合することはできるでしょうか? お教えいただけたら大変助かります。
- ベストアンサー
- オフィス系ソフト
- EXCELで複数のシートからデータを別シートに出す方法
EXCELで複数のシートからデータを別シートに出す方法 EXCEL2007でデータが1シートに100行/10列ある物が10シートあります。 この10シートの任意の行にA~Dを付けて、別シート(Aシート~Dシート)に A~Dを付けた行を表示させたいのですが、方法がわかりませんでした。 ご教示お願いします。 また、可能なら別シートに表示させる時、10列ある物を4列にしたいのですが。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品