重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

商品の管理をしています。
Aは仕入数
Bは支出数
Cは残数

今現在Cの列には
IF(AND(A2=“”,B2=“”),””,C1+A2-B2)
と入れてあります。

ただこうすると,在庫に動きがなかった時は当たり前ですが残数のところは空白になってしまう状態なのでそれは残数を表示して欲しいそうなんです。
では,上の式の
IF関数の真の時。ここを””→C1に変えればと思ったのですが、そうするとまだこの先動きがあれば入力する予定の下の方の行のセルにも残数が表示されてしまうため嫌だとのことでした。

説明が下手ですが,私が上司に言われた条件に一致しており、触り慣れてない人でも仕入れた数と使った数だけ入力すれば勝手に計算されるようにあらかじめ表内に仕込んでおける関数を教えてください。

A 回答 (6件)

「在庫に動きがなかった時」も残数を表示するということですが、「動きがなかった」と判断するのはいつでしょうか?例えば、毎朝前日分をチェックして残数を入れるなら、どこかに日付の列を用意して、日付が過去のものとなったら残数を入れるようにすればいいです。

    • good
    • 0

在庫に動きがなかった時にも残数を表示させたいという事は、在庫チェック等の何らかの「出来事」があったから残数を表示させなければならないという事ですよね?


 ですので実際に使われている表には「仕入数」、「支出数」、「残数」の3列以外にも、(「仕入れ」、「搬出」、「在庫チェック」といった)「出来事」の内容が入力されている列や、その出来事があった「日付」が入力されている列等々の別の列も使われている筈です。
 例えば今仮に、
A列には仕入数
B列には支出数
C列には残数
D列には出来事
E列には日付
が入力されているものとします。(実際の表では出来事等は仕入れの列や支出の列よりも左側にある列に入力されているのではないかと思いますが、質問文では仕入れの列や支出の列がA列やB列になっていて、それよりも左側の列を使いようがないため、とりあえずD列を出来事の列としています)
 その場合、仕入れや支出が無くても在庫チェック等の何らかの出来事があった時にも残数を表示させる方法としては次のような関数にされると良いと思います。

=IF(AND(A2=″″,B2=″″,D2=″″),″″,C1+A2-B2)

或いは

=IF(AND(A2=″″,B2=″″,E2=″″),″″,C1+A2-B2)
    • good
    • 0

No2です。



連投失礼。
2番目の式は、C2セルの式になっていなかったので訂正しておきます。

C2セルに入力するなら、
 =IF(COUNT(A1:B2),SUM(A$1:A2)-SUM(B$1:B2),"")
ですね。
    • good
    • 0

カッコ悪いですが、あまり難しく考えず、動きがあろうがなかろうが残数を表示するセルをD列に準備するとか、でしょうか。


D1 =C1 としてIF(AND(A2=“”,B2=“”),D1,D1+A2-B2) など。
    • good
    • 0

こんにちは



ははは、自分で考えようとはしない上司の典型ですね。

条件を『一行上のA、B列が空白だったら、空白にする』という風にしておけば良いのではないでしょうか?
具体的には、C2セルに
 =IF(COUNT(A1:B1),D1+A2-B2,"")
※ ただし、行を開けて入力しない(=上から順に詰めて入力してゆく)ことが条件になります。(空行を作るとエラー表示になります)

空行を作っても、計算できるようにしたいのなら、C2セルに
 =IF(COUNT(A8:B9),SUM(A$1:A9)-SUM(B$1:B9),"")
とかでしょうか。
    • good
    • 0

=IF(COUNT(A2:B2)>0,C1+A2-B2,"")


で出来ますよ
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A