• 締切済み

検索について教えてください。

入出庫をエクセルにてやっているのですが、 日付等、まちまちで入荷されるのでその分け方を教えてください。 セルAの1に日付、Bの1に入荷数、Cの1にロットナンバー、Dの1に在庫数。 セルEの1に日付、Fの1に出荷数、Gの1にロットナンバー、Hの1に在庫数。 を入力しているのですが、ロットナンバーが色々ありまして 同じ商品でも、ロットナンバーが違うと出荷順序が異なります。 そこで、ロットナンバーを打ち込むとその商品の 入出荷日+在庫数が分かる方法を教えてください。 と、前回質問させていただき下記のようなマクロを教えていただきました。 J1の式 =IF(MAX(INDEX(($C$1:$C$1000=$I1)*ROW($C$1:$C$1000),))=0,"該当なし",INDEX($A$1:$A$1000,MAX(INDEX(($C$1:$C$1000=$I1)*ROW($C$1:$C$1000),)))) K1の式 =IF(MAX(INDEX(($C$1:$C$1000=$I1)*ROW($C$1:$C$1000),))=0,"",INDEX($D$1:$D$1000,MAX(INDEX(($C$1:$C$1000=$I1)*ROW($C$1:$C$1000),)))) J1は最初39502のような数値が表示されると思います。セルの書式を「日付」に変更して下さい。 しかし、これだと入荷数に対してだけしか検索がかかりませんでした。 出荷数にも同時に検索がかかるマクロを教えてください。 以上よろしくお願いします。

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#02です。補足を拝見すると、指定したロットナンバーの「最新の入荷数」-「最新の出荷数」を求めたいということでしょうか? この内容で間違いないですか? それまでの在庫は考慮しなくて良いのかな? I2セルに指定したロット番号の最新入庫数は =IF(COUNTIF(C:C,$I2)=0,"",INDEX($B$1:$B$1000,MAX(INDEX(($C$1:$C$1000=$I2)*ROW($C$1:$C$1000),)))) 最新出庫数は =IF(COUNTIF(G:G,$I2)=0,"",INDEX($F$1:$F$1000,MAX(INDEX(($G$1:$G$1000=$I2)*ROW($G$1:$G$1000),)))) で求められますから「最新入庫数-最新出庫数」は以下の式になります (単に上に書いた二つの式の引き算です) =IF(COUNTIF(C:C,$I2)=0,"",INDEX($B$1:$B$1000,MAX(INDEX(($C$1:$C$1000=$I2)*ROW($C$1:$C$1000),))))-IF(COUNTIF(G:G,$I2)=0,"",INDEX($F$1:$F$1000,MAX(INDEX(($G$1:$G$1000=$I2)*ROW($G$1:$G$1000),))))

screams
質問者

お礼

ありがとうございます。 どうにも私の説明が下手なせいで・・・。 後日、改めて質問させていただきます。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

前回回答した者ですが補足要求です。 前回も曖昧と感じたのですが再度質問されていますので、もう少し求めるものをはっきりさせてください。 A列~D列に入荷情報が入力されていて、F列~H列に出荷情報が入力されているのですね。 ロット番号を指定したとき表示すべき情報は何ですか? 表示したい項目が何と何か(どの列の情報か)を具体的に教えていただけませんか。「入出荷日」などという表現は誤解を招きます。また余計かもしれませんが前回の質問では「在庫数」も表示したいとのご要望でしたが今回は不要ですか。もし在庫数が必要ならD列の在庫数と、H列の在庫数のどちらを表示するのかについても教えてください。 併せて、同じロット番号が複数の行に出現するとき、どの行のデータを表示すればよいかも教えて下さい。(入荷日、出荷日それぞれ最後の行ですか?) なお前回回答したのは関数式です。マクロではありません。

screams
質問者

補足

いろいろと説明不足で迷惑をかけました。 すみませんでした。 「ロット番号を指定したとき表示すべき情報は何ですか?」 とのことですが、できれば、 同一ロット番号の「入荷数-出荷数」(在庫)の数量が「I」のセルにでるように出来ますでしょうか? 例えば・・・ 07/03/01にロット番号000001が100個、 07/03/01にロット番号000002が100個入荷 07/03/02にロット番号000001が50個、 07/03/02にロット番号000002が100個出庫 となったとき、「I」のセルにロット番号「000001」を入力すると「50」と また、上記の動作で「000002」を入力すると、「0」と 表示されるようにしたいのです。 当初の質問と大分変わってしまいましたが、実際はこの数字が分かれば 大丈夫ということになりまして・・・。すみませんでした。 これで大丈夫でしょうか? 説明不足でしたらまた、ご指摘ください。 よろしくお願いします。

  • iggy123
  • ベストアンサー率0% (0/5)
回答No.1

オートフィルタ

関連するQ&A