• 締切済み

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

入出庫をエクセルにてやっているのですが、 日付等、まちまちで入荷されるのでその分け方を教えてください。 セル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

  • エクセルにて多種の振り分け方、教えてください。

    入出庫をエクセルにてやっているのですが、 日付等、まちまちで入荷されるのでその分け方を教えてください。 セルAの1に日付、Bの1に入荷数、Cの1にロットナンバー、Dの1に在庫数。 セルEの1に日付、Fの1に出荷数、Gの1にロットナンバー、Hの1に在庫数。 を入力しているのですが、ロットナンバーが色々ありまして 同じ商品でも、ロットナンバーが違うと出荷順序が異なります。 そこで、ロットナンバーを打ち込むとその商品の 入出荷日+在庫数が分かる方法を教えてください。 説明不足でしたら改めて補足させてもらいます。 よろしくお願いします。

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

    セルA   B   C    D    E   F    G    H     日付    入庫数 ロットNo 在庫     日付  出庫数 ロットNo 在庫  07/03/01  100    080101   100   07/03/02    50    080102  50 07/03/01  100    080102  100 07/03/06 30 080105 20 07/03/05 50 080105   50 07/03/07 20 080101 80   07/03/07 50 080102 0 . . . . . . . . 07/03/30 250 080115 07/03/31 200 080115 50 と、上記のような時、セル「I」にロットNoを入力すると セル「J」に数量が出る方法を教えてください。 例えば  セル「I」に080102と入力するとセル「J」に「0」と出力される。 また、セル「I」に080101と入力するとセル「J」に「80」と出力される。 わかる方、教えてください。    

  • エクセルで在庫数を表示したい!

    定期的にロットの入った製品が入荷します。 A列に日付、B列に入荷数、C列に出荷数、D列に在庫数を入力しています。 D列は、=D1+B2-C2 で在庫数を算出しています。 この在庫数を大きくF1に表示するには、どのような計算式を入力すれば良いですか? 出荷される度に行が下がって(増えて?)いくので、単純にF1に =D2と入力できませんよね・・? 1つのロットだけなら良いのですが、複数ロットの総合計を算出させる為に、計算式を教えてもらいたいです。 お願い致します。

  • ACCESSの空白をカウントする

    こんにちはAccessについて教えて下さい。 素人です宜しくおねがいします。 日付のデータが入るテーブルがあります。 この日付は物品の出荷の日にちと入荷の日にちを示しています。 入荷したら入荷日に日付を入れ、出荷したら出荷日に日付を 入れます。 在庫管理のため入荷日が入っているけれど出荷日を入力していない空白せるの数をVBAかクエリかWhere条件式でカウントしたいです。 調べたところクエリの集計のカウントでは空白セルをのぞいた数を数えてしまうようです。 ですから、Is Nullでも””””でも集計できなかったです。 どうすればよろしいでしょうかどうぞ宜しくお願いします。

  • VBA 条件が一致した場合のみコピーする

    VBAについて、現在勉強中な為、色々調べておりますが、詳しい方がおりましたら教えてください。 在庫管理の表をエクセルでやっております。 注文が来て、品物の手配をする時に、在庫の有無を確認したいので下記のような事が出来れば 良いと思っております。 3つのシートを使っております。シート名は、”必要数””出荷数””在庫数” シート:”在庫数”では、入荷数の合計から、マクロを使ってコピーした”出荷数”の数を 差し引くことにより、発注手配が必要な物とそうでない物がわかりやすいように作りたいと思って おります。 今回は、注文来た数を出荷数のシートにVBAでコピーさせる方法の質問です。 シート名:”必要数” のセルC2:C:50 を、コピーして、隣のシート”出荷数”のA列の 一番上の空白に、形式を選択して貼り付け(値・行列を入れ替える) ただし、A列には、日付が入力されてる為、参照した空白の一つ上のセルがコピー元と同じ 日付なら、貼り付けをしないでエラー表示させたい。 自動マクロでは、コピー元を選択して、ここに貼り付けみたいな事はできたのですが 3行目に貼り付けした後は、4行目に貼り付けるという自動マクロがわかりません。 ネットで調べたコードを何個もコピペしてやってみたのですが、なかなかうまく行きません。 詳しい方がおりましたら、コードを教えて頂けると助かります。 どうぞ、宜しくお願い致します。

  • マクロで過去日付分の計算式を値のみコピーする方法を探しています。

    マクロで過去日付分の計算式を値のみコピーする方法を探しています。 1つのシートに1ヶ月分の在庫を管理している表をエクセルで作成しています。 ほとんどすべてのセルに計算式が入っているので、とても重いため、過去日付のものは確定する方法を探しています。  商品名   6/1 6/2 6/3 6/4・・・・・・  Aの出荷数 1 2 3 4 ・・・・  Aの在庫数 50  48  45  41・・・・・  Bの出荷数  5 6 7 8・・・・・  Bの在庫数 60 54 47 39・・・・・    ・    ・     ・    ・ というふうに600アイテム以上の商品在庫の表です。 「確定」というボタンを押せば商品の出荷数の過去日のみをコピーして値で貼りつけるようなマクロを作成したいのですが、可能でしょうか? 上手に説明ができなくてすみません。。。 よろしくお願いします。

  • エクセル2007での在庫管理について

    多品番の在庫数を週2,3回のペースで確認したく、入荷数-出荷数=在庫数で関数を設定後入力し、翌日の出荷数(翌日だけの出荷数)を前日と同じ出荷数のセルに入力した時に前日分+翌日分を加算して入荷数からマイナスすることはできるのでしょうか?

  • accessで困っています

    access2000で、簡単な在庫管理ソフトを作っています。 商品マスタ(商品No、商品名、在庫初期値) 入荷マスタ(日付、商品名、入荷数) 出荷マスタ(出荷履歴No、日付、得意先名、商品名、出荷数) をテーブルに設け、商品を出荷入力すれば、初期値ー出荷数+入荷数をクエリ上で計算し、在庫数とし表示させています。 これに、出荷入力をしてそれを納品書として印刷させます。当たり前ですが、1商品出荷につき1枚の納品書しか印刷されません。 商品マスタに、商品名2や商品名3を設け、1枚に3種類まで印刷させようとすると、在庫計算方法がよく分からなくなります。 初心者で、どの様に作っていけば良いのかわかりません。 皆様のお知恵をお貸しいただけますでしょうか。 宜しくお願い致します。

  • 教えてアクセス2007!「在庫管理を求める方法」

    教えてアクセス2007!「在庫管理を求める方法」 アクセス2007を扱うのは初心者ですが在庫管理のデーターを作っていて フォームを開いた時に商品の在庫だけが表示される方法を教えて下さい たとえば 入荷              出荷 商品  日付 入荷数      商品   日付  出荷数 りんご 5/1  10     りんご  5/10  10 いちご 5/5  10     ばなな  5/15  10 ばなな 5/10 10     みかん  5/16  10 みかん 5/11 10 メロン 5/13 10 この場合、いちごとメロンが残ってます フォームを開いた時、残ってる商品だけを表示させたいのですが どうしたら良いでしょうか?教えて下さい。  

  • 関数式がわかりません

    A列に品名をB列に在庫数を、1行目に日付を2行目に入荷・出荷を記入した上で、3行目から品名の数量を記入していく在庫表のようなものを使用しています。 この場合B列に在庫を表したいのですが三日三晩、自分なりに式を入れてみてもうまく行きませんでした。どうかご教授願います。 具体的にはB列の在庫値を 2行目の「入(入荷のこと)」「出(出荷のこと)」を読んで 入荷なら足し算、出荷なら引き算をして返してほしいんです。

専門家に質問してみよう