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

エクセルで2つの在庫表を照合する方法について教えてください。

過去の質問もいろいろ参照したのですが、エクセル関数の理解度がSUMだけの私にとって、似たような内容ではどうも応用が利かずかなり苦戦しております。

エクセルの内容は

A列 アイテムNO
B列 商品名
C列 規格名
D列 当月末在庫数
E列 定価

という内容で(計500アイテム程度)毎週在庫表が届くのですが、これを前回の在庫表と照合しようとしています(現在は手作業です。。)。

アイテムNoはよく増減があります。

知りたいのは、在庫数の増減で、
1.今回新たに在庫が2以下になったもの 
2.前回は在庫が2以下だったが、今回2以上になったもの
3.新たに追加されたもの

なのですが、どのようにすれば簡単に照合できるのでしょうか?

エクセルお詳しい方どうぞ教えてください!

A 回答 (7件)

No.6 です。

すみません、コピペしてたらうっかりミスしました。

No.6 の L5 ですが、正しくは「sheet1!a:a」と「sheet1!a:e」という 2 種類の記述が数式の中に含まれるべきでした。No.6 の数式のままでも正しい値が出ることのほうが多いかもしれませんが、たまたま D 列に A 列と同じ値が存在するとエラーを出してしまうケースがあるので、ダメですね。次式に差替えをお願いします。

L5 =if(countif(sheet1!a:a,g5),vlookup(g5,sheet1!a:e,4,),)
    • good
    • 1

添付図では次式を記入してますが。

これでオートフィルタを設置して L ~ M 列のうち 1 列または 2 列同時の条件により絞り込んだら、質問文の 1. ~ 3. の問いは全て、答えが出ませんか。

Sheet2

L5 =if(countif(sheet1!a:e,g5),vlookup(g5,sheet1!a:e,4,),)
M5 =j5-l5

※前回の在庫が Sheet1、今回が Sheet2
「エクセル 2つの在庫表を照合する方法」の回答画像6
    • good
    • 1
この回答へのお礼

回答いただき、ありがとうございます。

内容を理解実際使用し理解するまで時間がかかりそうですので、ひとまずお礼をさせてください。

お礼日時:2014/11/24 11:25

今週の表に アイテムNoが同じ前回の在庫数がいくつなのかを 表示させ


ていけば 後は引き算とフィルタだけで全部分かるはずです。

アイテムNoを指定して 在庫数を数える場合 SUMIF関数を使えばいいと
思います。

> エクセル関数の理解度がSUMだけの私にとって
勉強しないで 自分がやりたいことだけやろうとする人は 上達しませんよ。
最低限 基本機能全般を勉強なさるべきかと思います。関数より前に。
    • good
    • 1
この回答へのお礼

回答いただき、ありがとうございます。

内容を理解実際使用し理解するまで時間がかかりそうですので、ひとまずお礼をさせてください。

お礼日時:2014/11/24 11:25

》 》 エクセル関数の理解度がSUMだけの私…


「理解度がSUMだけ」ってどういう意味ですか?
    • good
    • 0

2007以降でしたら


2行目からデータがあり
前回の在庫表をSheet1として
今回の在庫表に式を書き込むとした場合
今回の在庫表の
F2に
=IFERROR(IF(INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),4)=D2,"",IF(AND(INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),4)>=2,D2<=2),"新たに2以下",IF(AND(INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),4)<=2,D2>=2),"今回2以上",""))),"新規")
として必要なだけ下方向にコピーしてください。
ただし、前回より今回のアイテム数が少ないときには空欄の部分に新規と表示されます。

以上また、2003でしたら
=IFNA(IF(INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),4)=D2,"",IF(AND(INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),4)>=2,D2<=2),"新たに2以下",IF(AND(INDEX(Sheet1!A:D,MATCH(A2,Sheet1!A:A,0),4)<=2,D2>=2),"今回2以上",""))),"新規")

にしてください。

なお、以上以下はその数値を含むものとして考えています。
    • good
    • 0
この回答へのお礼

回答いただき、ありがとうございます。

内容を理解実際使用し理解するまで時間がかかりそうですので、ひとまずお礼をさせてください。

お礼日時:2014/11/24 11:23

仮に、シートごとに在庫表を管理したとします。


シート名 今週の在庫表
シート名 先週の在庫表

今週の在庫表のF列に
=Vlookup(A2,先週の在庫表!A:E,4,False)
と入れて下までコピーします。
先月の在庫数がF列に表示されます。
オートフィルターで
F列がエラー表示されている物絞り込みます。
新たに追加されたもの(先週の在庫表にアイテムNoがなかった)になります。

次に
D列の在庫数が2以下でオートフィルター 更に
F列で在庫数が2以上でオートフィルターで絞り込みます。
先週の在庫表では2以上で、今週は2以下のリスト

同様に
D列は2以上、F列が2以下でオートフィルターで絞り込めば
良いです。
    • good
    • 0
この回答へのお礼

回答いただき、ありがとうございます。

内容を実際使用し理解するまで時間がかかりそうですので、ひとまずお礼をさせてください。

お礼日時:2014/11/24 11:23

Excel本来の機能を使って、照合することもできますが、


複雑な数式やマクロなどが必要と思います。一部はフィルタで対応できると思います。

1.今回新たに在庫が2以下になったもの 
 →条件でデータ抽出はフィルタでできます。

2.前回は在庫が2以下だったが、今回2以上になったもの
 →前回の2以下のデータを抽出、今回の2以上のデータを抽出
  フィルターでできます。

3.新たに追加されたもの
 →データマッチングが必要、これは簡単にできないと思います。

実は下記の簡単な方法もあります。ご参考ください。
1.データ抽出
 

2.データマッチング
https://www.youtube.com/watch?v=TitRpy797ZI

https://www.youtube.com/watch?v=TitRpy797ZI
    • good
    • 0
この回答へのお礼

回答いただき、ありがとうございます。

内容を理解実際使用し理解するまで時間がかかりそうですので、ひとまずお礼をさせてください。

お礼日時:2014/11/24 11:22

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