下記①の続きの記事となります。
実用性はやや?ですが、思考実験としてエクセルの数式で納期回答をさせる手法です。
https://qiita.com/inu_mata_leon/items/cf336e4cdb53788397d9
前提条件:FILTER関数を使用します。EXCEL365もしくはEXCEL2021が必要となります。
上記の画像のように簡単なモデルを組んでみます。
左側が顧客からの任意の受注数。右側が予測に基づいた発注です。
本来なら「在庫を常に持つ=即納の前提で」予測に基づいた発注をしているのですが、市況は割と簡単に予測を裏切ります(よくあるというよりしょっちゅうですよね)
そんなわけで受注残が出た場合(残念ながら実務においては「多種多様な品目が」「複数の受注に対して」受注残になるのが世の常です)
1.受注・発注それぞれに対し「基本時系列で」ソートします。ソートのやり方は下記の通り。
(1)受注:受注日を基本としますが、緊急受注分のみ受注日より上位のソート順とします。
(2)発注:納入予定日をもってソート順とします。
2.表中黄色で着色された列のように、受注・発注それぞれの累計値を算出します。このモデルの場合、2行目にそれぞれ下記の数式を記入します。
(1)受注側のE2列に「=SUMIF($A$2:A2,A2,$D$2:D2)」を記入して後はドラッグして下端まで数式を投入します
(2)発注側のL2列に「=SUMIF($H$2:H2,H2,$K$2:K2)」を記入して後はドラッグして下端まで数式を投入します
3.受注側の判定(F列)2行目に描きの数式を記入します。
(1)受注側のF2列に「=INDEX(FILTER($J$2:$J$7,($H$2:$H$7=A2)*($L$2:$L$7>=E2)),1)」を記入して後はドラッグして下端まで数式を投入します。
ここまで記入したところで、発注側の累計値が受注側の累計値を上回った一行目の納入予定日がF列に表示されるはず。
本来であればこれはテーブル化した方がやりやすいのですが、思考実験としての説明のためあえてそこは省いています。次回は「データベースとしてどう処理するか」編となります。