[[20061202192108]] 『IF関数を使って在庫数を表示させたい』(りんご) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IF関数を使って在庫数を表示させたい』(りんご)

こんばんは、前回助けていただいた者です。

今回は、実際在庫日に日付をいれると、累計ー数量=在庫数を
返す式を教えていただきたく…

宜しくお願いいたします(><;)。

			在庫数:	個 (←ここに現在個数を表示)
数量	納品先	累計	実際出庫日	
5	茨城	5 		
16	埼玉	21 		
2	東京	23 		
1	東京	22 	11月16日	
1	東京	21 	11月16日	


 > 実際在庫日に日付をいれると、累計ー数量=在庫数を返す式

「実際在庫日」というのは,どこなんでしょう。

質問者は,思いこみというか「こんなことは誰でも知っているだろう」とか,このくらいの説明で分かるだろうというように考えがちなんでしょうか。
質問を受けた者にとっては,既知ではないこともあると思うんですね。
あなたが全くの第三者だと仮定して,あなたの書いた記事を初めて読んだつもりで,内容を伝えられてているかどうか,もう一度見直してみるのが良いと思うのですが。

まあ,「そんなことぐだぐだ言う奴は答える資格はない」ということではありましょうが。

世の中には,洞察力の優れたお方もおられるので,そのような方にとっては,そんな細かいことはなくても十分分かる(よけいな細かいことは,うざい)ということもあるのかもしれませんし,そのようなかただけ(わかるかただけ)があなたの質問に答えればよいということなのかもしれませんけどね。

(阿部真三@美しくない日本)


 ご質問の詳細がいまいち、解かりかねますが "りんごさん" ご提示のサンプルでは						
 21 と出ればいいのでしょうか?						
 もしそうであるなら、こんなのは如何でしょうか?						

 	[A]	[B]	[C]	[D]	[E]	[F]
 [1]	数量	納品先	累計	実際出庫日在庫数	21
 [2]	5	茨城	5			
 [3]	16	埼玉	21			
 [4]	2	東京	23			
 [5]	1	東京	22	11/16		
 [6]	1	東京	21	11/16		

 F1=SUMPRODUCT((D2:D6="")*A2:A6)-SUMPRODUCT((D2:D6<>"")*A2:A6)						
 外してたら、ごめんなさいね。						
    (SS)						


 衝突。
 私は「23」かと思ったのですが・・・。

 たとえば、
 A列に数量が入っていて、D列に実際出庫日(実際在庫日?)が入力された場合
 E1セルに
「D列に日付が入っていない行(=D列が空欄の行)の
  A列の数字の合計を出したい」
 というご希望であれば、SUMIF関数を使って
 E1=SUMIF(D:D,"="&"",A:A)
 とやってみるのはどうでしょう。
 このサンプルでは、5+16+2=23 という答えが出ます。

 ・・・はずしてるかな?
 (HANA)

解釈が違うというのは,仕様があいまいだということでしょうね。
明確な仕様書を書くことは大切なことですね。(阿部真三@美しくない日本)

皆さん、ありがとうございます。
ご指摘どおり、私の説明不足です。本当に申し訳ないです。

実は、先ほど省いてしまったんですが、
出庫日に日にちが入ると数量がマイナス、入庫日に日付が入ると
数量をプラスとみなす数式が、累計に入っております。
私が、今回教えていただきたいのが、「実際出庫日」に日付を入力した場合だけ、
その時点までの累計を表示させたいのです。
実際出庫日に日付が入るまでは、21のまま数字が動きません。
それなので、常に累計とはイコールになるとは限りません。

うまくご説明できず、申し訳ないばかりなのですが
宜しくお願いいたします。

 [A]	[B]	[C]	[D]	[E]	[F]

 (マイナス)(プラス)			在庫数:21個

 出庫日	入庫日	数量	納品先	累計	実際出庫日	
 	11月1日	5	茨城	5 		 
 	11月14日	16	埼玉	21 		
 	11月30日	2	東京	23 		
 11月16日		1	東京	22 	11月16日	
 11月16日		1	東京	21 	11月16日	

 	[A]	[B]	[C]	[D]	[E]	[F]
 [1]	 出庫日	入庫日	数量	納品先	累計	実際出庫日
 [2]	 	11月1日	5	茨城	5	
 [3]	 	11月14日	16	埼玉	21	
 [4]	 	11月30日	2	東京	23	
 [5]	11月16日		1	東京	22	11月16日
 [6]	11月16日		1	東京	21	
 [7]	11月17日		1	東京	20	11月17日

 確認ですが、この場合の在庫数はいくらと計算されればよいのでしょうか?
   (SS)				


 りんごさんがSSさんの質問に回答していただけるまで
 先ほど載せた式は保留にしておきます。

 りんごさんへ。

 文章で説明するのはなかなか難しいと思いますので、
 その点は仕方のないことだと思いますよ。

 ただ、説明の時に「私は現在こういう理由でここを確認しながら
 このように計算して結果を出しています」というのを
 書き加えてもらえると、分かりやすいかもしれません。

 りんごさんが在庫数を計算するときに、B列の数量が
 入庫の数量なのか、出庫の数量なのかが分からないと
 実際出庫日が入力されているか否かだけでは計算できませんよね?
 おそらく、
 「入庫の数量の合計から、出庫の数量の内 実際出庫日に
   日付が入っている行の数量を引く」
 という計算をなさるのだろうと思うので・・・。

 (HANA)

 表の列がずれて表示されているので、整理してみました。空行をなくし、行番号をつけました。

     [A]         [B]      [C]    [D]    [E]      [F]
 1(マイナス)(プラス)                   在庫数:21個
 2  出庫日     入庫日     数量  納品先  累計  実際出庫日
 3             11月1日      5    茨城     5  
 4             11月14日    16    埼玉    21 
 5             11月30日     2    東京    23 
 6 11月16日                 1    東京    22    11月16日
 7 11月16日                 1    東京    21    11月16日

 で、いくつかの疑問があります。

 ○最初の質問にあった「実際在庫日」が、例示データにありませんが?
 ○出庫日と実際出庫日と2つの列があるのは意味があるのですか?
 ○「在庫数」は E列の最下行とは限らないのですか?
 ○入庫・出庫の日付順に並んでいないのはなぜですか?
 ○5行目の 累計 23 というのはおかしくないですか? 11/14 で 21 になったあと、
  11/16 に出庫があったのなら、11/30時点での累積は 23にはならないと思えます。

 (P)


 またまたいらぬことを書いておりましたので
 自己削除です。ごめんなさいね。

 (HANA)


皆さん、ありがとうございます(><)。
直接お話して説明できたら。。ってホントに思いました(TOT)。
私の説明不足で、お手数おかけして申し訳ございません。

累計には=IF(C4>0,(COUNT(B4)-COUNT(A4))*C4+E3,"")こんな式が入っています。
入庫したときは、在庫が増えるということで数量がプラスとしてカウント。
出庫したときは、在庫が減るので数量がマイナスとした累計に計上されます。

この数式の出庫日を実際出庫日に返れば、解決すると思う?のですが
一列ふやさなくてはいけないですよね。。
それを一目で見れるよう、【F1】のセルだけに表示させたいのです。

実際出庫日と出庫日の違いですが、出庫日は、出庫予定日を意味します。
実際に出庫した日をF列に入れることで、
F1に現在の在庫数量を表示させたいのです。

まだ、足らない情報が多々あると思いますので
ご指摘ください。。

よろしくお願いいたします★


											実際在庫数	19
											出庫予約数	2
											入庫予定数	2
											使用可能在庫数	19
出庫予定スケジュール					入庫予定スケジュール							
出庫予定日	完了フラグ	納品先	数量	実際出庫日	入庫予定日	完了フラグ	納品先	数量	実際入庫日	出庫日	納品先	数量
11月16日	未	東京	1		11月1日	済	茨城	5	11月1日	11月13日	大阪	2
11月16日	未	東京	1		11月14日	済	埼玉	16	11月13日			
					11月30日	未	東京	2				
 処理日を仮に13日と仮定しています。
 出庫予定スケジュールと入庫予定スケジュールを分けてみました。
 A6=出庫予定日、L1=実際在庫数が入るように作ってください。

 "完了フラグ"の下のセルに=IF(E7="","未","済")
 実際在庫数の右に=-SUMIF(B7:B23,"済",D7:D23)+SUMIF(G7:G23,"済",I7:I23)-SUM(M7:M23)
 出庫予約数の右に=SUM(D7:D23)-SUMIF(B7:B23,"済",D7:D23)
 入庫予約数の右に=SUM(I7:I23)-SUMIF(G7:G23,"済",I7:I23)
 使用可能在庫数の右に=M1-M2+M3

 (ザイン)


 補足
 出庫予定の完了フラグの下に=IF(E7="","未","済")
 入庫予定の完了フラグの下に=IF(J7="","未","済")
 一番右の3列、出庫日・納品先・数量は、予定になく、出庫した場合に入力します。

 (ザイン)


 あー、欠陥に気づいたので3連投。orz
 使用可能在庫数が19だと、16日までに在庫全部使ってしまう可能性がありますね。
 失礼しました。

 使用可能在庫数の右は=M1-M2で。

(ザイン)


ザインさん、ありがとうございます。
すごいですねーー(」゜ロ゜)」!!

いろいろ追加して頂いて、大変見やすくなりました!!
これでやってみます!!

またわからなくなったら質問すると思いますので
よろしくお願いいたします!

ご指導頂いた皆様!本当に助かりました!
ありがとうございました★


早速、上司に指摘されにつまりました。。
何度も申し訳ないのですが、またお願いいたします。

表がずれていて、セル番号がイマイチわからなかったのと
もっと項目を少なくと、省かれてしまいました。

@完了フラグは実際出庫した時だけ表示。

A納品先、出庫日、入庫日、実際出庫日、数量は1列のみ(変動しないため)

B累計の表示をする。

でも一番上の、実際在庫日〜使用可能在庫数はとてもいい
ご提案で在庫が一目瞭然なので ぜひ、残したいのですが。。

ご指導お願いいたします。。

                                     


 必要ないかもしれませんが、私からのレスとしては
 1.SSさんのご質問にお答え下さい。
 2.私の推測は合っていましたか?

 ということにしておきます。

 (HANA)

 こんばんは〜♪

 >実際に出庫した日をF列に入れることで、F1に現在の在庫数量を表示させたいのです。 

 出庫予定日と同じ行に、実際に出庫した日(出庫予定日と同じ日)を
 入力するのでしたら。。

 F1 =IF(COUNT(F3:F100),LOOKUP(LOOKUP(10^7,F3:F100),F3:F100,E3:E100),"")

 それから

 出庫予定日と同じ行に、実際に出庫した日(出庫予定日と同じ日)を

 入力するのでしたら。

 日付を入力しなくても
 日付の変わりに、フラグをF列に、済 や 完了 の文字列。
 や *  とか ○ の様な記号でもいいですね。
 行によって、記号が変わっても文字列や記号ならいいです。

 そんな場合の式は

 F1 =IF(COUNTA(F3:F100),LOOKUP(LOOKUP("ー",F3:F100),F3:F100,E3:E100),"")

 カン違いならゴメンナサイ!!

 。。。。Ms.Rinでした〜♪♪


HANAさん

お返事遅くなって申し訳ございません。

>確認ですが、この場合の在庫数はいくらと計算されればよいのでしょうか?

  このときにあった表の場合ですと、累計の最後20なります。

>「入庫の数量の合計から、出庫の数量の内 実際出庫日に

   日付が入っている行の数量を引く」
 
 ご認識通りです。累計から引いてしまうと、出庫日(予定分)も
 含まれてマイナスされてしまいますので、入庫(=現在の在庫分)から
 実際出庫日の日付が入力されたところの数量をひきます。
 私は、累計からと思っていたのですが、このレスを書きながら
 気がつきました・・・(−−;)ごめんなさい。。

Ms.Rinさんの方でもやってみたいと思います!


 もう一度よく確認し下さい。
 >このときにあった表の場合ですと、累計の最後20なります。
 この発言と
 >ご認識通りです。
 という発言は矛盾していますよ。
 私の認識通りだと、6行目は出庫していないので在庫数は
 21になると思いますが。
 ・・・「認識通り」ということなので、そちらを主にして以下の文章です。
 私の認識違いなら、無駄レスなので「又違った話」として読んで下さい。

 >私は、累計からと思っていたのですが、このレスを書きながら
 >気がつきました・・・(−−;)ごめんなさい。。
 これに気づくことは重要だと思いますよ。

 上の没式で、SUMIF関数を使っていますが この関数はそのまま使えると思います。
 SUMIF関数をヘルプで調べると
 「  指定された検索条件に一致するセルの値を合計します。
   書式
     SUMIF(範囲,検索条件,合計範囲)」
 とあります。

 求めたいものを求めるために必要なのは
 1.入庫の数量の合計
     (B列に日付が入っている行の数量)
 2.出庫の数量の内 実際出庫日に日付が入っている行の数量
    (ただし、実際出庫日に日付が入っているのは出庫の行だけなので
      F列に日付が入っている行の数量が分かればいい)      
 ですよね。1の数-2の数=求めたい数 になりますから。
 実際の式は
 =SUMIF(B:B,"<>"&"",C:C)-SUMIF(F:F,"<>"&"",C:C) このように書いたりできます。
 B列(=入庫日の列)が、「<>""」(=空欄でない行)の、C列(=数量)  の合計から
 F列(=実際出庫日の列)が、「<>""」(=空欄でない行)の、C列(=数量) の合計を引いています。

 一気に「こんなのが出る数式」を求めるのではなく
 それを求めるためには何が求まればいいのか。
 そして、答えを出す前段階の計算をするときに
 どんなフラグがついていれば分かりやすいのか
 ・・・と考えていくのが良いかもしれませんね。

 たとえば、「出庫予約数」と言うのは
 出庫日が空欄でない行の数量の合計−実際出庫日が空欄でない行の数量の合計
 で求まりませんか?
 (出庫予定数の合計から、実際出庫した数の合計を引いたら
   まだ出庫していない数が出てきますよね。)

 注>>同じ式の説明にいろいろな言い方をしているので、混乱しないように
     気をつけて読み進んで下さい。
     「実際出庫日に日付が入っている」「実際出庫日が空欄でない」「実際出庫した」
     上の三つの言葉は同じことを表します。

 (HANA)


 そうそう
 >表がずれていて、セル番号がイマイチわからなかったのと
 ザインさんの書き込みの内、「表」の部分をコピーして
 エクセルで右クリック→形式を選択して貼り付け→テキスト
 として貼り付けてみて下さい。
 ザインさんが提示してくれた式がそのままコピペして使える
 配置の表になると思います。

 また、文頭を半角スペースで始めると、改行出来ますよ。
 ←この部分に、半角スペース。

 いろいろ解決しないようなら「りんごさんの言葉で」
 何をやりたいか、また「表」はエクセルから貼り付けられるので
 現在はどのようなレイアウトのものを作りたいのか、もう一度教えて下さい。

 (HANA)

HANAさん、ご指導ありがとうございます!
こんなにたくさん、書いて頂いて本当に申し訳ないです。。

>確認ですが、この場合の在庫数はいくらと計算されればよいのでしょうか?

 この部分についてですが、ごめんなさい。21になります。
そうするとここの累計は、在庫予定数?ですよね。
累計という項目を変えるか、消した方がいい気がしてきました。
作っている自分自身がわかってないみたいですね(><)

いろいろレイアウトが変わってきてしまいましたが、
私のイメージだと、こんなカンジ↓です。

 できるだけシンプルにしたいと思っていますが、逆に見づらいでしょうか。。。

 			実際在庫数	7
			出庫予定数	5
			入庫予定数	12

出庫予定日 入庫予定日 納品先 数量 実際出庫日

もう一度、HANAさんや、みなさんにアドバイスをもとに
じっくり考えてみたいと思います。。

またお願いいたします。


 >そうするとここの累計は、在庫予定数?ですよね。
 >累計という項目を変えるか、消した方がいい気がしてきました。
 項目名は「その言葉でなにを表現するのか」と言う事なので
 りんごさんのわかりやすい言葉を付けても良いと思いますが
 「累計」と言うと一般的には「加算していく計算」を指すと思います。
 よって、りんごさん以外の方が表を見ると「この累計ってなんだろ?」
 となると思いますので、考慮が必要だと思います。
 また、細かいことを言うようですが、「入庫予定日」と「実際出庫日」と言う言葉から
 「実際在庫数」は出ないと思いますよ。だって、予定は未定ですよね。
 そのために「実際出庫日」を入力する列を作っているのですから。
 「入庫予定日」=「実際入庫日」と言うことなら、「入庫日」に。
 また、「実際出庫日」と言う項目があるので「出庫日」と書いてある項目があれば
 「実際じゃない出庫日か」と推測出来ると思いますので、隣の項目の「入庫日」
 と言う書き方と統一しても良いような気がします。(この辺はルールを決めるのが
 良いと思います。項目はなるべく簡潔でわかりやすい言葉が良いでしょう。)

 >できるだけシンプルにしたいと思っていますが、逆に見づらいでしょうか。。。
 これは、いろんなレイアウトを作ってみて、見やすい物に落ち着けば良いと思います。
 その時は、実際にその表を見る事を必要とする第三者の意見が有用だと思いますよ。
 「こんな表は見やすいですか?」と、上司の方又は回りの方に聞いてみるのが良いでしょう。

 式の方は、なんだかりんごさんなら作れそうな気がするので、ちょっとがんばってみて下さい。
 目的の数を出すためには、何の数と何の数が分かればいいのかを見極めて下さいね。

 (HANA)

HANAさん。。

本当にありがとうございます(゜-Å) ホロリ

 今回表で、私にはお手上げだな。と自信をかなりなくしていたのですが、
もう少しがんばってみたいと思います。

項目の言葉も含め、誰がみても入力しやすく
在庫数がわかるように、作りなおしてみたいと思います。

できましたら、またぜひ見ていただけますか?

よろしくお願いいたします。。


 はい。その心意気で"もう少し"がんばってみてください。
 >項目の言葉も含め、誰がみても入力しやすく在庫数がわかるように、
 この「誰が見ても」ってのは結構問題でハードルは
 「この業務に関連する人が見て」位が良いと思いますよ。

 完成した暁には、是非載せて下さいね。
 りんごさんと同じ様な事をなさりたい人の参考になるでしょう。
 また、進めなくなったときは「ここで止まった!!」と
 窮状を訴えてみて下さい。
 きっと手をさしのべてくれる方がいますからね。

 (HANA)

 				在庫数	21	
 				出庫予約数	0	
 (マイナス)	(プラス)			入庫予定数	0  	
 出庫日	入庫日	数量	納品先	累計	実際出庫日	完了フラグ
 	11月1日	5	茨城			入庫済
 	11月14日	16	埼玉			入庫済
 	11月30日	2	東京			入庫済
 11月16日		1	東京		11月15日	出庫済
 11月16日		1	東京		11月16日	出庫済

もう事故解決してるかな??^^

 遅くなりましたが、考えてみました。
 完了フラグの下のセルに
=IF(IF(TODAY()+1>SUM(B5,F5,),IF(SUM(B5,F5)=0,"未","済"),"未")="済",IF(A5="","入庫","出庫"),"")&IF(TODAY()+1>SUM(B5,F5,),IF(SUM(B5,F5)=0,"未","済"),"未")&IF(IF(TODAY()+1>SUM(B5,F5,),IF(SUM(B5,F5)=0,"未","済"),"未")="未",IF(A5="","入庫","出庫"),"")
 必要なところまでコピペ
 在庫数の右に=SUMIF(G5:G9,"入庫済",C5:C9)-SUMIF(G5:G9,"出庫済",C5:C9)
 出庫予約数の右に=SUMIF(G5:G9,"未出庫",C5:C9)
 入庫予定数の右に=SUMIF(G5:G9,"未入庫",C5:C9)

がんばってくださいね〜b(ザイン)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.