エクセルでデータ照合の仕方

このQ&Aのポイント
  • エクセルでデータの照合方法について教えてください。
  • 現在紙ベースでの照合作業が大変です。把握している事務データと営業さんのデータを照合したいです。
  • A列に商品名、B列に数量、C列に金額、D列に合計金額(数式C*D)を入力し、データが正しく表示されるようにしたいです。営業さんのデータと合わせて確認したいです。
回答を見る
  • ベストアンサー

エクセルでデータ照合の仕方

エクセルのデータ照合の仕方 仕事でデータの照合をしたいのですが・・・今現在紙ベースで合していて大変です。 こちらが把握している事務データと営業さんがあげるデータを照合したいのです。 A列商品名 B列数量 C列金額 D列合計金額(数式C*D)となります。 例えばこちらが A ビール B 10 C 300 D 3000 と打ち込みます。 営業さんも    A ビール B 10 C 300 D 3000 と打ち込むとデータが表示されないようにしたい。 こちらが     A ビール B 10 C 300 D 3000と打ち込み、 営業さんが   A ビール B 5 C 300 D 1500           A ビール B 5 C 300 D 1500           とこちらが1行営業さんが2行打ち込んでも品名があっていて合計金額もあっているのでデータが表示されないようにしたい。 こちらが     A ビール B 10 C 300 D 3000と打ち込み、 営業さんが   A ビール B 10 C 500 D 5000 と合計金額が違うのでこちらのデータも営業さんのデータを表示させたい。 間違い探しをしたいのです。 営業さんがこちらのデータ合わせて打ち込んでくれれば、一番良いのですが・・・そうもいかずに困っています。 こんな都合の良い照合の仕方ってありますかね?

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 質問者様が仰る方法ではありませんが、間違い探しをされるのでしたら、条件付き書式を使用して、数量の総計や合計金額の総計が、Sheet1とSheet2で異なっているセルの色が変わる様にされては如何でしょうか?  その方法は、まず、営業さんのデータはSheet1にのみ入力して頂く様にして貰い、質問者様の部署が把握しておられるデータはSheet2に入力する様にされた上で、以下の操作を行います。 Sheet1のC1セルをクリックして選択   ↓ メニューの[書式]をクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ウィンドウの左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ウィンドウの右端の欄に次の数式を入力 =SUMIF($A:$A,$A1,B:B)<>SUMIF(INDIRECT("Sheet2!A:A"),$A1,OFFSET(INDIRECT("Sheet2!A:A"),,COLUMNS($A:B)-1))   ↓ 「条件付き書式の設定」ウィンドウの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ウィンドウの[パターン]タグをクリック   ↓ 適当な色(例えば赤色)の四角形をクリック   ↓ 「セルの書式設定」ウィンドウの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ウィンドウの[OK]ボタンをクリック   ↓ Sheet1のC1セルを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ Sheet1のD1セルを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ウィンドウの中にある、[書式]と記されている箇所をクリックしてチェックを入れる   ↓ 「形式を選択して貼り付け」ウィンドウの[OK]ボタンをクリック   ↓ Sheet1のC1セルにカーソルを合わせてから、マウスの左ボタンを押し放しにして、そのままカーソルをSheet1のD1セルに移動させてから、マウスの左ボタンを放す事で、Sheet1のB1~D1の範囲を範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスをを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ Sheet1のC2セルをクリックしてから、Sheet1のD列の最下段(データが入力される可能性のある行の内で最も下の行)にカーソルを合わせ、キーボードのShiftキーを押しながらマウスをクリックする事で、Sheet1のB~D列におけるデータが入力される可能性がある全ての範囲を範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスをを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ウィンドウの中にある、[書式]と記されている箇所をクリックしてチェックを入れる   ↓ 「形式を選択して貼り付け」ウィンドウの[OK]ボタンをクリック   ↓ 同様の操作で、Sheet2のC1セルに、以下の数式による条件付き書式を設定し、その条件付き書式を、Sheet2のC列とD列のデータが入力される可能性がある他のセルに貼り付ける =SUMIF($A:$A,$A1,B:B)<>SUMIF(INDIRECT("Sheet1!A:A"),$A1,OFFSET(INDIRECT("Sheet1!A:A"),,COLUMNS($A:B)-1))  これで、同一商品の数量の総計がSheet1とSheet2で異なっている場合には、その商品のデータが表示されている行のC列のセルの色が赤くなり、同じく合計金額が異なっている場合には、その行のD列のセルの色が赤くなりますから、何処が間違っているのかが、判り易くなると思います。

syosinsyaexcel
質問者

お礼

遅くなりましたが回答ありがとうございます。 質問の仕方が悪かったですが、kagakusukiさんの言うとおり間違い探しで正解です。 条件付き書式がこんなに便利だとは思いませんでした。 大変助かりました。

その他の回答 (2)

回答No.2

こんにちは データそのものを比較するなら =EXACT(文字列1,文字列2) という関数を使用すれば、一致した場合にTRUE、不一致の場合にFALSEを 返す関数があります。 =IF(C7=C8,TRUE,FALSE) というようにIF文使っても同じですが・・ ただ、そちらがどのようにシートを作成してるのかわかりません。 データを2重管理しているのでしょうか? データの保持状況がわかりませんので、どうしたら照合できるかはお答え しかねます。 営業さんの入力するシートのフォーマット、事務で入力するシートのフォーマット 営業さんのコードや、受注NOなどのキーになるものがあるのかないのか、など ただ、やり方としては 関数で検証するために、営業さんがそれぞれ持っているデータのフォーマットと 事務側で持っているフォーマットを統一した上で、営業さんから1日1回 データを回収する。 ※その際、受注No.などのような個別に特定できるキーを必ず用意する。 事務側のファイルでは、入力データシートとは別に検証用に同じフォーマットの シートを用意する。 ここに回収したデータを順番に張り付ける。 データの行数をまず比較する。 同じ数でなければその時点でどちらかに入力漏れがある。 一方のデータ(例えば事務側)を基準にして、空いている列に受注No.などをキー にして、VLOOKUP関数で項目を参照して比較する。 ※項目(例えば商品名)とVLOOKUPでその受注No.に対応する営業さんが入力した商品名を  参照して、先ほどのEXACTを使用して比較してあげれば検証はできます。  例 商品名と商品名の比較  =IF(EXACT(商品名のセル,VLOOKUP(受注No.のセル,営業シート!A:G,2,0) ,"","不一致")   VLOOKUP(検索キー,検索範囲,列,0)   検索キーはユニーク(一つしかない)なキー   検索範囲は検索キーを最左列とした検索するデータの範囲   列は、検索して見つかった場合、検索キーを1列目として、何列目を参照するか   最後の0は完全一致   検索の結果検索キーが存在しない場合は#N/Aと表示される。  営業シート!A:Gは受注No.から一番右の列。  一番左の列には受注No.があることが前提。  この比較をアイテムの項目数だけ行う。  つまり、データの右側の空いてる列に同じ項目分、チェック用の式をいれる  間違っている個所は"不一致"と表示される。 もう一方のデータも同じようにVLOOKUP関数を使用して項目を参照して比較する。 事務側のデータと営業さんのデータと両面からチェックすれば、入力漏れが発見できる。 こんな感じですかねぇ・・ ちょっと考えてみてください。 ご参考まで

syosinsyaexcel
質問者

お礼

回答ありがとうございます。データは2重に管理しています。商品名に関しては、上記の関数で、照合することができました。ありがとうございました。 金額の集計に関してはツール→データの集計で今までより早く金額間違いが探せるようになりました。ありがとうございました。

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

やりたいことは良くあることだが、質問者の力量が心配です。 エクセルの関数しか判らないようだと解決策は複雑に思うかも知れない。 エクセルの理解度もいまいちのようです。なぜならシートに表示させる、させないはエクセル関数では不可能なのに、それを期待するような質問になっている点などから推測する。 こういう仕事に絡んだニーズをエクセルでやるとすれば、最低エクセルVBAでプログラムが組めないと、進まないと思う。 ーー 質問者のデータと営業のデータがどういう状態でチェックを始めるのか、余りシステムに慣れてないようで、説明されて無くて 回答が難しい。データの入力が終わってデータが両ブックにあるところから始めるなら、各行データに何かキー項目があるなら(各行識別IDのようなデータ。人事データなら職員番号のようなもの)、其れで他方のデータをVLOOKUP関数で索引して、照合し比較は出来る。 VBAが出来なければ、方法はその辺どまりでしょう。

syosinsyaexcel
質問者

お礼

質問の仕方が悪くて申し訳ないです。おっしゃる通り、表示する、しないというとデータの抽出やVBAができないと駄目みたいですね。 アドバイスありがとうございました。

関連するQ&A

  • Excel シート間のデータの照合

    Excelで、シート間のお客様データ(だいたい各1万件)を照合します。下記は現在の照合方法ですが、これでは時間がかかるうえ手作業が多く発生しミスにつながります。頻繁に行う作業なので、関数でも、マクロでも、とにかくもう少し簡単にできる方法がありましたら、どうぞご教授ください。よろしくお願いします!! 【目的】 シート「sheet2008」には2008年度のデータ。シート「sheet2007」には「sheet2008」と同じ形式の2007年度のデータが入っています。シート「sheet2008」に、そのお客様の2007年度の担当営業マンを表示させたいのです。 【例】 列A(電話番号): 011-231-1112 列B(名前):佐藤 一郎 列C(住所):北海道札幌市中央区北1-1-1 列D(担当営業マン):鈴木 新規の列(2007年度の担当営業マン):鈴木  ・「sheet2008」「sheet2007」はほぼ同じデータですが、一部のお客様は名前が変わっていたり、住所が変わっていたりします。  ・「sheet2007」にないお客様が「sheet2008」にあったり、その逆があったりして、各シートのデータ件数は一致しません。  ・名前が同じでも住所が違うデータ、電話番号が同じでも担当営業マンが違うデータは別者として扱います。  ・「顧客ID」のような“必ずユニークな情報”は存在しません。 【現在の照合方法】 (1)「sheet2008」の各列の前に空白列を挿入する。  (データの1行目はタイトル行…B1:電話番号/D1:名前/F:住所/H:担当営業マン)  (データの2行目以降はデータ)     列A(空白行):     列B(空白行): 011-231-1112     列C(空白行):     列D(名前):佐藤 一郎     列E(空白行):     列F(住所):北海道札幌市中央区北1-1-1     列G(空白行):     列H(担当営業マン):鈴木 (2)「sheet2007」を列Aの電話番号で昇順に並べ替える。 (3)「sheet2008」の電話番号が「sheet2007」にあるかを調べる。     A2:「=IF(B2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,1,0)),"○","▲")」 (4)(3)で調べた「sheet2008」の電話番号と同じ行にある名前/住所が「sheet2007」にあるかを調べる。     C2:「=IF(D2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,2,0)),"○","▲")」     E2:「=IF(F2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,3,0)),"○","▲")」 (5)電話番号/名前/住所がすべて一致するデータについて、「sheet2007」にある担当営業マンの値を列Gに表示させる。     G2:「=IF((AND(A2="○",C2="○",E2="○"))=TRUE,(VLOOKUP($B2,Sheet2007!$A:$D,4,0)),"▲") (6)"▲"やエラー値で表示される計算結果について、目視で確認する。 (終了)

  • データ照合の仕方

    過去のデータと最新のデータを照合し、一致する場合は最新のデータ上に過去データの情報を 表示させたいです。 1.過去シートはA列に電話番号/B列に名前があります。 2.最新シートはA列に電話番号のみがあります。 →最新シートのA列の電話番号と過去シートのA列の電話番号を照合し、一致した場合は  最新シートのB列に名前を表示させたいです。 よろしくお願いします。

  • エクセルシート間の照合について

    エクセルシート間で照合をしたいと思っています。 照合する項目は2つ。2つともあえばそのA列のデータを表示するというものです。 データは シート1(前年) A  B  C  D 1  田中 123 東京都・・ 5  佐藤 124 千葉県・・ 3  山本 128 埼玉県・・ シート2(今年) A  B  C  D   山本 128 埼玉県・・   佐藤 124 北海道・・   田中 123 東京都・・ C列とD列を照合し2つともあえばシート2のA列にシート1のA列のデータを入力する。なければ「なし」と入力できるようにしたいのです。 上の場合は山本のA列に「3」佐藤には「なし」田中には「1」と入るのうになればと思います。 入力されている列は同じですが順番はばらばらです。データ数は1万件を超えています。 どなたかアドバイスいただければと思います。よろしくお願いします。     

  • EXCELのデータ照合で教えてください。

    EXCELで外部データの取込からデータの照合をしたいのですが ←     更新後     →     ←     更新前     →   A    B    C     D    E     F    G     H 1 商品A  4個  商品B  10個  商品C  2個  商品D  10個 2 商品C  4個  商品D   8個  商品E  10個  商品A   4個 この時に、セルA1B1とセルG2H2は、何もせず、セルC1D1には、文字を太字で表示、セルG1H1、黄色で塗つぶし、セルC2D2は、文字を黄色で表示、 セルE1F1、緑色で塗つぶし、セルA2B2は、文字を緑色で表示とかのデータの照合をしたいのですが、どなたか教えて下さい。 宜しくお願い致します。

  • エクセルデータ照合

    エクセルのデータ照合によりデータの統合をしたいです。 Sheet1 A校 50% B校 30% C校 40% D校 30% E校 20% Sheet2 B校 C校 E校 F校 Sheet1 とSheet2 の学校を照合して共通校のみを抽出しSheet3として B校 30% C校 40% E校 20% データ数は約1万件です。 宜しくお願いいたします。

  • Excel 関数 照合した結果がどこにあるのか表示したいのですが

    照合したいデータがあります。 A列とB列のセルを照合の結果、B列のセルがA列のどこにあるか、C列に行番号を表示したいのですが。 どのような関数がいいのか教えてください。よろしくお願いします。   A列   B列   C列 1 リンゴ みかん  2 2 みかん いちご  4 3 バナナ レモン  6 4 いちご メロン  5 5 メロン ぶどう  × 6 レモン

  • エクセルのピポットテーブルについての質問です。データがA列:得意先名 

    エクセルのピポットテーブルについての質問です。データがA列:得意先名 B列:得意先営業所名 C列:月間契約金額 D列:月間売上実績 になっています。 やりたいことはD列の月間売上実績の合計値をC列の月間契約金額で割り達成率を出したいのです。今2行あるとして、A列は全て山田商店 B列1行目が山田商店 大阪 C列1行目が100 D列1行目が10  そしてB列2行目が山田商店 京都 C列2行目が100 D列2行目が30 とします。この場合達成率は山田商店との月間契約金額が100で月間売上実績が大阪と京都を合わせて40ですので、40%になります。これを40%と表示させるべく、数式→集計フィールドの挿入→数式にD列/C列を入れました。しかし、40%ではなく20%になってしまします。これは契約金額が営業所毎にも100が入力されている為だと思います。C列の契約金額は本来A列の会社本体との契約金額ですので、営業所別には契約金額はありません。しかし、データ上は営業所毎に本体契約金額と同じ数字でもっています。実際には営業所はもっとたくさんあり、全てに契約金額が入っています。こういう場合、ピポットテーブルを使って表示させる方法はあるのでしょうか。おわかりになる方いらっしゃいましたら、教えて頂けないでしょうか。

  • excelのVLOOKUPで、照合後、値を表示

    VLOOKUP関数を利用して、商品送付後の入金管理を行いたいと思っています。 送付済(シート1) A列:名前  B列:金額  C列:名前&金額  D列:送付日  E列:     F列: 入金済(シート2) A列:名前  B列:金額  C列:名前&金額  D列:回収日  E列:入金日   「名前と金額が検索値と一致したら、送付済(シート1)のE,F列に、回収日と入金日を表示させる」ようにしたいです。 VLOOKUP関数では、二つの値の照合は出来ないとの事でしたので、C列=名前&金額をいれて、C列での照合をしたいと思っています。 照合後に、回収日と入金日を表示させる関数が分かりません。 ※照合後に値が無い場合は、エラーでなく空白で表示させたいです。 よろしくお願いいたしますm(__)m

  • エクセルのデータ照合(book2つ)

    こんばんは。 現在、仕事でデータ照合の仕方に悩んでおります。 つたない説明で恐縮ですが、現状の説明をさせていただきます。 (1)集積されている内容が異なるデータAとBを照合したい。 (2)A、Bのブックで集められているデータの内容はイコールではないが、一部のデータを照合したい。 (3)関数等で実現したいことは、 「金額」と「予算元」がイコールなら、Bのブックに入っている「伝票番号」を、 Aのブックに自動で入力できるようにしたい。 (3)照合したいデータの量は、Aブック、Bブック、1000以上になる。 自分で考えて関数を入れてみたのですが、どうしても「FALSE」となってしまいます。 私が考えていたのは、=IFand(AA=BB,AB=BC,Vlookup(BD,AC:AD,2,0)) のような式です。 初心者なので、ちんぷんかんぷんな式ですみません。 一応、私の意図は (1)もし、ブックAのA列の金額がブックBの金額と同じで、なおかつブックAの予算元とブックBの予算元が一致するなら (2)ブックBの伝票番号を、ブックAのACからADの範囲の2列めに、入力する です。 理解不可能であれば、ここは無視したうえで、ご教授いただけると本当に助かります。 どうぞ、よろしくお願いいたします。

  • Excelデータの照合

    Excelデータの照合 こちらでも色々調べさせて頂いたのですが、自分のデータにうまくあてはめられず困っています。 Excelの元データ、入力データがあります。 元データが正規のデータで、入力データにモレがないか、ミスがないかをチェックする為に 照合をしたいんですけど、どうやったらうまく出来るかわかりません。 是非ご教授下さい。 元データ、入力データ共に2列あり、どちらも A列・・・コードナンバー B列・・・コードナンバーに対応する金額 が入力されています。 これは今現在は同一シート内に抜き出してありますが、元は別シートです。 なので別シートにあるものとして回答頂いても結構です。 入力データの中から、元データのA列、B列共に一致するものだけを抽出することは出来ますか? 不一致もしくは該当するデータがないものと、一致しているものが区別で切れば形式は何でもOKです。 (作業列を増やすとか、色分けするとか、文字で表示するとか) 出来ればVBAやマクロを使わず関数のみでお願いします。 検索を使うからVLOOKUP? 複数条件だからIF?? と色々考えましたが、2つセットで検索をかけるのがどうしても出来ず・・・(-_-;) よろしくお願いします!!

専門家に質問してみよう