アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問タイトルが判りにくくて申し訳ありません。

質問内容は以下の通りです。
例えば、
1.自社が納品先に納品したデータ(項目としては、伝票番号、商品コード、納品数量)

2.納品先側で作成された自社から納品された商品の受領データ(項目は1と同じです)

上記の2つEXCELのデータがあるとします。

この2つのデータを見比べて納品数量の食い違いを発見したいのです。
(自社からは2個納品したはずだが、納品先側では1個しか受領していないといったものです)

この2つのデータを同じブック(シート)に貼り付けた上で伝票番号及び商品コードが合致したデータを抽出し、
なおかつ数量が違っているものを最終的に抽出したいのですが、マクロを使用せず、関数のみで抽出できる
レベルでしょうか?

詳しい操作方法の説明までは大変でしたら『こんな関数を使えばどうですか?』というような関数の名前だけでも
アドバイスしていただければ幸いです。

なお使用ソフトはEXCEL2003です。よろしくお願い致します。

A 回答 (3件)

こんばんは!


No.1さんとまったく同様の回答で、重複するかと思いますが、
ExcelでSheetを作成してしまいましたので、
回答させていただきます。

↓の画像で上側が自社Sheet(Sheet1)で、下側が納品先Sheet(Sheet2)になります。

両Sheet共、D列を作業用の列とさせてもらい、
D2セルに
=CONCATENATE(A3,B3,C3)
という数式を入れ、フィルハンドルの(+)マークでダブルクリック
またはオートフィルで下へコピーします。

Sheet1のE3セルに
=IF(OR(D3="",COUNTIF(Sheet2!$D$3:$D$1000,D3)),"","×")
という数式を入れ、これまたフィルハンドルでダブルクリックかオートフィルで下へコピーします。

これでSheet1・2でデータが違う行だけに「×」が表示されます。

以上、参考になれば幸いです。m(__)m
「EXCELにて同じ項目を持つ2種類のデー」の回答画像2
    • good
    • 0
この回答へのお礼

早速のご回答、誠にありがとうございます。
関数だけでなく、数式や図まで載せていただき恐縮です。
数式など知らない関数もありますので勉強して試してみます。
使ってみて、使いやすさなどを考えて後日評価させていただきます。
まずはお礼まで。

お礼日時:2009/11/27 16:53

例データ


Sheet1
A列  B列   C列
伝票番号数量
112
24#N/A
36相違
ーー
Sheet2(受領データ)
A列   B列
伝票番号数量
112
35
Sheet1のC2に
=IF(B2=VLOOKUP(A2,Sheet2!$A$1:B$100,2,FALSE),"","相違")
と入れて下方向に式を複写。
#N/Aは見つからず(受け取りの返事が無い)
これも「見つからず」と出したいときは=IF(ISERROR(VLOOKUP(同じ
関数式),"",IF(B2=VLOOKUP(同じ関数式),"","相違")
相違は受け取り数相違。
ーー
ただし上記回答では伝票番号で比べているが、普通は1伝票番号で多数品を納めるのでは?
だから実例を挙げて、説明し質問しないとだめ。
もし伝票番号+商品コードでチェックするなら、空き列に伝票番号+商品コードの文字列を作り、VLOOKUP関数(FALSE型)で探す。そのときTEXT関数などで伝票番号7桁+商品コード6桁という風に定桁式になるように数字文字列を作ること。
1-01と10-1が同じにならないようにね。
ーー
余分なことかもしれないが、
相手先が検収数量をわざわざ書いて返してくるのかな?実際界では普通合っておれば、そのまま検収印を押して返送するがやっとでは?合わないときだけ文句や問い合わせが入るとか。
    • good
    • 0
この回答へのお礼

早速のご回答、誠にありがとうございます。

説明不足で申し訳ございません。
今回の相手先は、1伝票番号につき1明細と決まっているので本来ですと伝票番号のみでマッチングすればいいのですが
ごく稀に伝票番号が1周し、同一伝票番号で違う商品コードが発生するため両方をマッチングする方法をお聞きしました。
ちなみに伝票番号は7桁の数字のみで商品コードはJANコードで13桁の数字です。このあたりも説明不足でした。

imogasi様の紹介していただいた伝票番号のみのマッチングも参考にさせていただきます。
後日結果にて締め切り、評価させていただきます。まずはお礼まで。

>余分なことかもしれないが、
>相手先が検収数量をわざわざ書いて返してくるのかな?実際界では普通合っておれば、そのまま検収印を押して返送するがやっとでは?合わないときだけ文句や問い合わせが入るとか。

その通りですよね。私もそう思います。ただ、今回の相手先様の検収方法は自社からの納品の際、納品伝票は添付しない。
そして相手先の方ではハンディでのみ検品作業。
そしてその結果のみを自社にデータを送る。
自社でそのデータを検証し、相違部分を相手先に調査依頼をかけるという流れなのです。
まぁこういうところも中にはあるのです。。。

お礼日時:2009/11/27 17:10

1つの伝票No.に同一商品コードが2行出てこないと仮定してですが、



1,伝票No. & 商品コード で伝票No.と商品コードを連結した列を作る
  (両方のエクセルシートともです)
2,vlookup関数をつかって片方のシートからもう片方のシートを探す
3,Vlookup関数の第3パラメータ目を納品数量とする
4,Vlookup関数の第4パラメータ目をFALSEとする

すると結果は

存在すれば、納品数量存在しなければ#N/Aが帰るはずです

納品数量同士を比較し違っていればエラー
もしくはVlookup関数の答えが#N/Aならエラー

というIF関数を書いてあげれば差異が抽出できると思われます

これを、両方のシートで行ってください
(AシートにあってBシートにない
BシートにあってAシートにない
という両方の状況に対応するため)

こんな感じでいかがでしょうか
    • good
    • 0
この回答へのお礼

早速のご回答、誠にありがとうございます。
早速お教えいただいた方法で試して見たいと思います。
結果とともに後日締め切り、評価のほうさせていただきます。
まずはお礼まで。

お礼日時:2009/11/27 16:50

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