人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの質問です。現在の在庫数を確認する方法です。単純化してA1に初期在庫数を入力し、入出荷がある度にB1に入荷数もしくはC1に出荷数を入力すると、A1に新在庫数が表示され、これを繰り返し継続的に確認する方法はどうすればいいでしょうか?

●質問者: potato48
●カテゴリ:コンピュータ
✍キーワード:エクセル 入力 在庫 現在 継続
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● hathi
●20ポイント

そうしたことをEXCELのシート上だけで実現することは、おそらく無理です。

実現するには、入庫B列 出庫C列に入れて、A1の元の在庫数から計算された結果をA1ではないセルに表示させる式をいれておく必要があります。

Excelのシートは、「各セルに表示する内容を関係式で定義する」ことはできますが、データを自動的に入れ替えるようなことはできません。

そうしたことを実現するには、マクロを組む必要があります。

マクロ(プログラム、VBA)の動作で、入庫、出庫の数から計算した在庫数を目的のセルに表示させるのです。

マクロを全く使用しない場合には、小遣い帳のようなイメージで、EXCELシートに、入庫B列、出庫C列、在庫D列の各列を作って、

在庫列のD3セルに =IF(D2+B3+C3>0,D2+B3-C3,"") のような式を入れて、D3セルを、D4から下の方にオートフィルするのが良いと思います。

しかし、これでは、A1にいつも在庫数を表示するというようなことにはなりません。

マクロを使いたい場合は、そうしたことの質問を再度するのが良いと思います。

こうやりたいという内容を詳しく示さないと、マクロの例も示しにくいです。

◎質問者からの返答

データを自動的に入れ替えることはできないとのことですね。マクロを使って例えば初期在庫100、入荷数30、二回目は出荷数40三回目は出荷数20の場合では、どうなるのでしょうか。


2 ● きゃづみぃ
●30ポイント ベストアンサー
Private Sub Worksheet_Change(ByVal Target As Range)

If Target = Range("B1") Then
 Range("A1") = Range("A1") + Range("B1")
End If

If Target = Range("C1") Then
 Range("A1") = Range("A1") - Range("C1")
End If


End Sub

そのシートのとこに コードを貼り付けます。

やり方は たとえば 「Sheet1」のタブを 右クリックして コードの表示とします。

(Excel2000で確認。バージョンによっては やり方が違います)

そこに 上記のコードを 貼り付ければいいです。

B1に入れた値を A1に加算。

C1に入れた値を A1に減算するようにしてあります。

エラーチェックはしていませんので 文字とか 数値じゃないものを 入れると プログラムが ストップしてしまいます。

数値だけ入れてれば 問題ないです。


3 ● Baku7770
●20ポイント

マクロを使ってやる方法もあるでしょうし、ワークシートを複数枚使う方法もあるでしょう。

実務的には、入出庫の履歴を管理する方がベターですから、私ならシートを在庫、入庫履歴、出庫履歴の3枚を使って、SUMIF関数で

在庫=初期在庫+SUMIF(入庫シートの合計)-SUMIF(出庫シートの合計)

としますが、パソコンのスペックや商品点数、入出庫の頻度によっては実務上耐えられない可能性があります。

http://exinfo.biz/func/func_sumif.shtml

マクロを使う場合、在庫数の列を2つ用意しておいて、入出庫数を別のシートに入力した後に、ボタン操作をすれば、

1.表示用の在庫数をsumif関数を使った計算式に書き換え

2.表示用の在庫数を数値に書き換え

3.もう一つの在庫数の列に表示用の在庫数を複写

といった手順になります。


4 ● Silvanus
●20ポイント

こういう感じのことであれば出来るんですけど…いかがでしょうか。

http://rct3jp.info/hatena/hatena_potato48_101021.xls

出荷数か入荷数が記入されると、一行下にずれて行く、という風になっています。

このマクロでは、出荷数と入荷数は同じ行には書き込めません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ