[[20180425141534]] 『在庫管理での品名毎の差引後の最古日付を表示させ』(hide) ページの最後に飛ぶ

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

 

『在庫管理での品名毎の差引後の最古日付を表示させたい』(hide)

表の中から最も古い日付と新しい日付を出すことは出来るのですが、
表の中から、同じ品名で入出庫後の一番古い日付を抽出したいのですが
解りません、お教えしていただきたいのですが、宜しくお願いします。

(例)
日付 品名 入庫 出庫 在庫
1月1日 りんご 20 20
1月1日 バナナ 20 20
1月1日 みかん 20 20
1月1日 いちご 20 20
1月1日 ぶどう 20 20
1月3日 りんご 10 10
1月3日 バナナ 10 10
1月5日 りんご 20 30
1月5日 バナナ 20 30
1月5日 みかん 20 40
1月6日 りんご 20 10
1月6日 みかん 25 15
1月6日 いちご 20 0
1月6日 バナナ 10 20
1月7日 みかん 10 5
1月7日 りんご 20 30

上記の表から下記の表のように、今有る在庫の最も古い日付を出したいのです。

品名 在庫 在庫最古日 在庫最新日
りんご 30 1月5日    1月7日
バナナ 20 1月5日    1月5日
みかん 5 1月5日    1月5日
いちご 0   -      -
ぶどう 20 1月1日    1月1日

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 A20セルから下に品名が並んでいるとして。
 最古日:=MIN(IF(B$2:B$17=A20,A$2:A$17,""))
 最新日:=MAX(IF(B$2:B$17=A20,A$2:A$17,""))
 ともに式の確定時にShiftキーとCtrlキーを押しながらEnterキーを押してくれ(確定後、式が{}で囲まれればOK)

(ねむねむ) 2018/04/25(水) 14:52


 あと、
 日付	品名	入庫	出庫	在庫
 1月1日	りんご	20		 20
 と行の頭に半角スペースを入れると書いたとおりに表示される。
(ねむねむ) 2018/04/25(水) 14:52

 ・最新日 在庫あり
 ・最古日 在庫なし

 なら、「在庫あり」の最古日を探すの?
 
(GobGob) 2018/04/25(水) 14:55

 あー。勘違いw。

 だけど、よールールわからん。。。。

 バナナ、みかんはなんで「最古」も「最新」も「1月5日」なの?
(GobGob) 2018/04/25(水) 15:08

 おっと、もしかしてこうか?
 最古日:=IF(SUMPRODUCT((B$2:B$17=A20)*(C$2:C$17-D$2:D$17)),MIN(IF((B$2:B$17=A20)*(C$2:C$17<>""),A$2:A$17,"")),"-")
 最新日:=IF(SUMPRODUCT((B$2:B$17=A20)*(C$2:C$17-D$2:D$17)),MAX(IF((B$2:B$17=A20)*(C$2:C$17<>""),A$2:A$17,"")),"-")
 これもShift+Ctrl+Enterを忘れずに。

(ねむねむ) 2018/04/25(水) 15:11


 GobGobさん、在庫の日付なので入庫だけを見るのかと。
 (最初私も気づいていなかったが)
(ねむねむ) 2018/04/25(水) 15:11

 私もまだ理解していないか(苦笑
 入庫だけ見るのだと最古日は1/1になるか。
 GobGobさんへの回答を待つことにする。
(ねむねむ) 2018/04/25(水) 15:20

 ああ、先入り先出として例えばりんごの1/1の20個は1/3、1/6の出庫ではけているので在庫のうち一番古いものは1/5に入庫されたもの、ということかな?
(ねむねむ) 2018/04/25(水) 15:32

 作業列を使う。
 元の票の在庫の横の列の2行目(F2)に
 =SUMIF(B$2:B2,B2,C$2)-SUMIF(B$2:B$17,B2,D$2)
 と入力して下へフィルコピー。
(ねむねむ) 2018/04/25(水) 15:49

 A20セルから下に品名が並んでいるとして。
 最古:=IFERROR(INDEX(A$2:A$17,MATCH(1,INDEX((B$2:B$17=A20)*(F$2:F$17>0),0),0)),"-")
 最新:=IF(B20="-","-",INDEX(A$2:A$17,MATCH(1,INDEX(0/((B$2:B$17=A20)*(C$2:C$17<>"")*(F$2:F$17>0)),0),1)))
 通常通りEnterで確定。
(ねむねむ) 2018/04/25(水) 15:50

 連続して済まない。
 最新を
 =IFERROR(INDEX(A$2:A$17,MATCH(1,INDEX(0/((B$2:B$17=A20)*(C$2:C$17>0)*(F$2:F$17>0)),0),1)),"-")
 としてくれ。
(ねむねむ) 2018/04/25(水) 15:58

質問の問い方が解りにくくすみませんでした・・・

 >ああ、先入り先出として例えばりんごの1/1の20個は1/3、1/6の出庫ではけているので在庫のうち一番古いものは1/5に入庫されたもの、ということかな?

そと通りで、入荷日が古い物から出庫し、入出庫後の在庫の中で一番古いものが知りたいのです。
バナナとみかんは先入り先出し後の在庫入荷日が同じだから同じ日付になっている状態です。

(hide) 2018/04/25(水) 16:39


無事に表が完成できました。
ありがとうございました。
(hide) 2018/04/25(水) 17:18

コメント返信:

[ 一覧(最新更新順) ]


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