オーダーメイドの注文を、納期の近い順に並べる表|発送済みを除いて SMALL・INDEX/MATCH で
公開日: 2026-11-11
名入れやセミオーダーの注文が重なってくると、「次にどれを作るか」を決めるのに、注文の一覧を上から全部見ることになります。注文の表は受け付けた順に並んでいるので、納期の近い注文が下のほうに埋もれがちです。
この記事では、注文の表はそのままにして、別のシートに「まだ発送していない注文だけを、納期の近い順に」式で並べます。並べ替えのボタンを押さなくても、注文を足したり状態を変えたりするたびに並び直ります。
注文の表に書くこと
1件の注文を1行にして、注文番号・受付日・お客様・窓口・内容・代金・納期・状態を書きます。状態は、入力規則のプルダウンで「相談中・前金待ち・制作中・完成・発送済み・キャンセル」から選ぶようにしておくと、書き方がそろいます(プルダウンの作り方は入力のまちがいを色で知らせる記事でも触れています)。
この例は、今日から見て納期が 2日後(0004)・3日後(0003 と 0006)・10日後(0002)・14日後(0005)の注文が残っている形です。0001 は発送済み、0007 はキャンセルです。
手順1: 納期まで何日かを TODAY で出す
注文の表の右の空いた列に、まだ終わっていない注文だけ、納期までの日数を出します。
V2(納期まで): =IF(AND($A2<>"",$I2<>"",$J2<>"発送済み",$J2<>"キャンセル"),$I2-TODAY(),"")
- 日付どうしの引き算は日数になります。納期が過ぎるとマイナスになります
- 発送済み・キャンセルの行と、納期が空の行は
""(空)にして、並べる対象から外します TODAY()はファイルを開くたびに今日の日付に変わるので、毎日開くだけで日数が進みます
手順2: 同じ納期でも重ならない「並べ替え用」の数
納期が同じ注文が2つあると、次の手順の MATCH が同じ行を2回返してしまいます(同じ金額で順位が重なる問題はよく売れた作品の順位の記事と同じです)。そこで、納期の日付に、行の番号をとても小さくして足した数を作ります。
W2(並べ替え用): =IF(AND($A2<>"",$I2<>"",$J2<>"発送済み",$J2<>"キャンセル"),$I2+ROW()/100000,"")
日付は1日が 1 なので、ROW()/100000 を足しても日付の順は変わりません。同じ納期の 0003(4行目)と 0006(7行目)は、上の行の 0003 が少しだけ小さくなり、先に並びます。
手順3: 予定のシートに、小さい順に引いてくる
予定のシートの J列(並べ替え用)に、k 番目に小さい数が注文の表の何行目かを出し、ほかの列は INDEX でその行を引きます。
J2: =IFERROR(MATCH(SMALL(注文!$W$2:$W$501,1),注文!$W$2:$W$501,0),"")
J3: =IFERROR(MATCH(SMALL(注文!$W$2:$W$501,2),注文!$W$2:$W$501,0),"")
A2(納期): =IF($J2="","",INDEX(注文!$I$2:$I$501,$J2))
C2(注文番号): =IF($J2="","",INDEX(注文!$A$2:$A$501,$J2))
SMALL(範囲,k)は、空("")の行を数えないので、発送済み・キャンセルの注文は出てきません- SMALL の2つ目の数(1・2・3…)は、行ごとに書き換えます。下へコピーするだけで増えるようにしたいときは、
SMALL(注文!$W$2:$W$501,ROWS($J$2:J2))と書くと、J2 で 1、J3 で 2 … になります - 残っている注文より k が大きくなると SMALL がエラーになり、
IFERRORで空になります。テンプレートの予定の表は60行ぶんなので、まだ発送していない注文が61件以上になると、61件目からは出ません。注文の表も 501行目までを見ているので、それより多くなるときは範囲を広げます
この例では、0004・0003・0006・0002・0005 の順に並びました。発送済みの 0001 とキャンセルの 0007 は出ていません。0006 を発送して状態を「発送済み」に変えると、予定の表から消えて、0002 が3番目に上がります。
納期が近い注文を色で知らせる
テンプレートでは、条件付き書式で、納期まで7日以内の行をオレンジ、納期を過ぎた行を赤にしています。予定の表なら、B列(納期まで)を見て決めます。
オレンジ: =AND($J2<>"",N($B2)>=0,N($B2)<=7)
赤: =AND($J2<>"",N($B2)<0)
7日の部分を 3 にすれば、3日以内だけに色が付きます。作るのに何日かかる注文が多いかで決めてください。条件付き書式の設定の手順は、在庫が少なくなったら色で知らせる記事で、Excel・Google スプレッドシート・LibreOffice のそれぞれを説明しています。
SORT と FILTER が使えるなら
Microsoft 365・Excel 2021 以降、Google スプレッドシート、新しい LibreOffice では、1つの式で並べた表を出せます。
=SORT(FILTER(注文!A2:I501,注文!V2:V501<>""),9,1)
FILTER で納期までの日数がある行(まだ終わっていない注文)だけにし、SORT で9列目(納期)の小さい順に並べます。この例でも、手順3と同じ 0004・0003・0006・0002・0005 の順になりました(LibreOffice で確かめた結果)。Google スプレッドシートでは、小さい順は 1 の代わりに TRUE で書きます。古い Excel(2019 まで)では使えないので、ほかの人と共有する表なら、SMALL と INDEX/MATCH の形にしておくと、どのソフトでも同じ結果になります。
LibreOffice で式の区切りが ; の設定になっている場合は、, を ; に置き換えて入力します。
12月のように「届けたい日」で注文を受けるときは、届くまでの日数と作る日数から作り始めの締切を出しておくと、どの注文から手をつけるかがはっきりします。受けた注文ごとに作り始めの締切と間に合うかを出す記事で説明しています。
作った表を、そのまま使いたい方へ
この記事の表は、設定・注文・入金・経費・予定・月別を1つにまとめたテンプレートで作りました。納期の近い順の予定と色分けのほか、前金・残金の入金や、1件ごとの利益と時給も式で出ます(時給の出し方は受注制作の時給の記事で説明しています)。表を一から作る時間を省きたい方は、ハンドメイド受注制作管理シートもご覧ください。
カテゴリ: 新作の計画・注文・出品・SNS・お客さま対応

