- ベストアンサー
在庫管理表について。
今、在庫管理表を作ってるのですが、計算式で行き詰まってます。Aと言う製品を作るのに最低3個以上のパーツを使います。たとえば製品Aを作るのにa,b,cの3個のパーツを使用するとして、Sheet1に製品Aの完成品の個数、Sheet2には製品Aに使用したパーツ(a,b,c)のそれぞれの個数が入力されています。ここで、製品Aを100個作ったとしてSheet1に完成品の個数100を入力したとき Sheet2のパーツ(a,b,c)の個数も完成品Aが増えると自動的に100個減るようにするにはどうすればいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
docodemodoorさんのシートがどの様に入力されているのか分かりませんでしたので、 私なりの作り方で作ってみました。 ちょっと分かり難い関数を使っている所もありますが、 なるべく、コピーできるような形にしてあるので、 手作業で良ければ、もっと簡単な式になります。 (パーツ数、製品数が250以上あるとちょっと無理です。) 在庫管理のソフトは、検索すればありそうですけど・・・ 1.パーツリスト(1行目:見だし、2行目以降:データ) A列:パーツ名・・・入力列 B列:期首在庫・・・入力列 C列:入庫 ・・・=SUMIF(仕入れ!B:B,A2,仕入れ!C:C) D列:出庫 ・・・=SUM(OFFSET(完成品!$D$2,0,ROW(A2)-2,65535,1)) E列:現在庫 ・・・=B2+C2-D2 F列~:製品A 製品B 製品C・・・各製品に使われるパーツの数 ★C.D.E列は2行目に式を入力し、3行目以降は2行目をコピー 2.完成品リスト(1行目:見だし、2行目以降:データ) ★ツール→オプション→「表示」のゼロ値のチェックをはずしてください。 A列:日付 ・・・入力列 B列:製品名 ・・・入力列(入力規則でリストにしてもよい) C列:個数 ・・・入力列 D列~:パーツ名・・・見だし行:=INDEX(パーツリスト!$A:$A,COLUMN(B1)) データ行:=IF($B2="","",HLOOKUP($B2,パーツリスト!$F:$H,COLUMN(B2),0)*$C2) ★D列以降の列はパーツ分D列をコピー ★3行目以降は2行目をコピー 3.仕入れ(1行目:見だし、2行目以降:データ) A列;日付 ・・・入力列 B列:パーツ名・・・入力列(入力規則でリストにしてもよい) C列;数量 ・・・入力列 ●以下は入力例(ずれていると思います) 1.パーツリスト パーツ名 期首在庫 入庫 出庫 現在庫 製品A 製品B 製品C a 250 100 82 268 2 5 b 300 200 44 456 4 c 150 0 21 129 1 2 d 80 0 40 40 8 e 53 0 36 17 3 2.完成品リスト 日付 製品名 個数 a b c d e 1月10日 製品B 3 15 9 1月15日 製品A 1 2 4 1 1月20日 製品A 10 20 40 10 2月1日 製品C 5 10 40 2月5日 製品B 4 20 12 3月1日 製品B 5 25 15 3.仕入れ 日付 パーツ名 個数 1月25日 a 100 2月10日 b 200 こんな感じので良ければ、わからない所など補足してください。 長々と失礼しました。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
3つの関係表が必要でしょう。 (1)部品構成表 設欄 完成品名 部品1 部品2 部品3 ・・・ a b c ・・・ A 10 20 5 B 5 10 15 ・・・ (2)完成製品在庫表 完成品名 完成品名 日付 完成数量 出庫数量 在庫数量 日付 完成数量 出庫数量 在庫数量 A B 5/1 50 5/10 5/12 100 150 ・・・ (3)部品在庫表 部品名 部品名 日付 完成数量 出庫数量 在庫数量 日付 完成数量 出庫数量 在庫数量 多分本件エクセルで考えているのでしょうが、列数256列の制約を考えると、上記などは不安有りです。 やはり一覧性は諦めても、アクセスなどの、関係のデータが必要な時は見れる方式にすべきではないでしょうか。 計算式は 在庫数量=前行在庫+入庫-出庫=当行在庫 部品在庫変動において 部品構成表*完成品(入庫=製造)個数=(部品在庫)出庫数 Aとaから使用部品数の割り出しは 例えば部品構成表が a b c A 10 20 5 B 5 10 15 C 20 15 10 の場合 Aのb部品は =INDEX(B2:D3,MATCH("A",A2:A4,0),MATCH("b",B1:D1,0)) で「20」が採れます。
- bhoji
- ベストアンサー率53% (1514/2852)
使用するソフトがエクセルならば、まず項目を入れます。 A1:年月日、A2:仕入(入庫)数、A3:倉出(出庫)数、A4:在庫数 とします。 D2に現在の在庫数を入れます。 D3に数式:=D2+B3-C3 を入れます。 D3の数式はドラッグして下に向けてコピーしておきます。 またA列の表示を日付に設定しておきます。 次にシート全体をコピーして、次のシートに複写し、これを部品の種類分だけ 繰り返します。 シート2のC3へ数式で=Sheet1!B3*1を入れます。 *1としたのは、ネジなど複数必要な場合のためです。 C3の数式をドラッグして下にコピーしておく。 続いてシート2の全体をコピーして次のシートへの複写を繰り返します。 これで基本は出来たと思います。 元のシート1に戻って、A2:製作(製造)数 に変更します。 B3に100を入れて確認してみてください。
- tamatokuro
- ベストアンサー率26% (81/308)
Sheet1のB2に100 Sheet2の1の行に(A1)パーツ名、(B1)使用数、(C1)出庫数、 A列に(A2)a、(A3)b、(A4)c B列に個々の使用数を入力 (C2)に=Sheet1!B2*B2と入力すると1台に使われた個数が表示されるので 在庫数の入ってるセルから引けばいい (C3)、(C4)はSheet1!B2*B3とB4になります