プロが教える店舗&オフィスのセキュリティ対策術

請求書のデータ/SHEET(1)と検収のデータ/SHEET(2)(こちらが買った物のデータ)の違いをチェックしたい。

各シートには品名・金額・注文番号が入っているのですが品名はお互いの書き方が一致しない為、
注文番号をキーに請求金額と検収金額が違っていないかをチェックし、違っているものを抜き出したい。
また、月ズレしているもの(請求は今月だが検収は来月等)もあるのでそれも抜き出したい。
注文番号は「A1111」の様なアルファベット+4桁の数字です。
基本的に同じ注文番号は各シートに1つずつなのですが、
だぶりがあると問題になるのでそれもチェックしたいです。
このような処理をする場合どういった方法があるのでしょうか?

以上、説明が事務的になってしまいましたが、
宜しくお願い致します。

A 回答 (4件)

Sheett1 今月の請求書のデータ


 A   B   C    D
品名 金額 注文番号

Sheet2 今月の検収のデータ
 A   B   C
品名 金額 注文番号

Sheet1のD2セルに
=IF(COUNTIF(C2,Sheet2!C:C)=0,"検収はありませんでした",IF(COUNTIF(C2,Sheet2!C:C)=1,IF(B2=INDEX(Sheet2!B:B,MATCH(C2,Sheet2!C:C,FALSE),1),"正しい金額で検収がありました","間違った金額で検収がありました"),"重複で検収がありました"))
下フィルします。
IF分が3つネストされています。
COUNTIF(C2,Sheet2!C:C)=0 Sheet2に同じ注文番号がない
COUNTIF(C2,Sheet2!C:C)=1 Sheet2に同じ注文番号がひとつ
B2=INDEX(Sheet2!B:B,MATCH(C2,Sheet2!C:C,FALSE),1) その金額が同じ
もし式が複雑であれば
D2セルに =COUNTIF(C2,Sheet2!C:C) 下フィル
検収のシートに同じ注文番号がいくつあるか 数値で出す
E2セルに =B2-INDEX(Sheet2!B:B,MATCH(C2,Sheet2!C:C,FALSE),1)
請求書のデータの金額と検収のデータ金額を引き算して
金額の差を出す
ではいかがでしょうか。
    • good
    • 0

エクセルはセルという行・列のデータで考えるものです。

そのこと(セルの具体的な配置など)を1つも質問に説明しないで、読者回答者に回答しろといっても出来ません。たった1行・1列違いの配置が根本的に使う関数を変えることとかあります。同じデータがその列に2ど出現するかどうかなども、ある関数を使えるかどうかの大切な決定要素の場合もあります。
関数回答などは1行に同一性格のデータがあるといったような、多くの前提に支えられた場合の、その場合向きだけの回答に過ぎません。
ーー
何事によらず、仕事関係のエクセルを使う処理は、関数ではおぼつかなくて、VBAが出来て相当経験しないと無理と思います。
出来るだけ関数の方でできるやり方を考えても、その場合は関数の組み合わせ等がぐっと難しくなります。
ーー
そしてこの質問が丸投げ的であるように感じます。回答者を下請けにするような丸投げは規約上望ましくないことになっているはずです。
疑問点を絞れるだけのエクセルの腕や論理的思考の技術を上げて、マトを絞って質問すべきです。
    • good
    • 0

照合処理と言うことですが、一度に全部は出来ないと思います。


まず、COUNTIF関数を使用し注文番号の全データの中での個数を
出し、オートフィルターで1以外の物を抽出します。

重複を集計するか取り除くかした後のユニークなデータを使用して
「検収から請求」と「請求から検収」のデータに対してVLOOKUP関数で
検索をかけてエラーになった物を抽出します。

抽象的な書き方になって申し訳ないのですが、思いついたのは
こんな感じです。
    • good
    • 0

>このような処理をする場合どういった方法があるのでしょうか?


シート構成がわからないですが、私ならマクロ(VBA)で処理しますけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!