今回は、会社の休日が一般的なカレンダーの休日と異なる変則的な休日ルールを用いている会社で、自社の休日ルールの営業日判定で出荷日や請求日を営業日に変換するアプリの構築方法をご紹介します。
📢業務内容の想定
自社の注文データに基づいてを出荷処理する業務を想定します。
注文データには、受注日、注文番号、出荷予定日があります。
出荷予定日は、受注日+5日後の日付を指定するルールですが、もし出荷予定日が会社の休日と重なる場合は翌営業日の日付を指定する必要があります。
会社の休日は、週休(毎週の土日)と国民の祝日ですが、年末年始は12月30日から翌年1月3日までが休日で、8月は13日から15日の3日間を会社の休日としています。

この様に変則的な休日ルールとなっているため、出荷予定日を記入する作業は、作業者がカレンダーを見ながら営業日を判断して入力していますが、入力ミスが原因で誤った出荷予定日を回答をしてクレームになることが多いので、受注日から出荷予定日を自動計算して、休日判定と翌営業日の計算も自動化することで、人間が判断しなくて良い仕組みを導入したいというシナリオです。
💻デモ画面
上記の仕様通りに日付計算をするアプリのデモ画面です。
2025-08-08(金)受注分の5日後は、8/13(水)ですが、会社の休日(盆休み)と土日週休を休日判定すると、8/13(水)、8/14(木)、8/15(金)、8/16(土)、8/17(日)の5日間連続休日となり、翌営業日は8/18(月)となります。

次の受注日:2025年の11/17の5日後は、11/22(土)ですが、土日は週休、11/23(日)が勤労感謝の日、11/24(月)が国民の祝日法3条2項の振替休日ですので、出荷予定日は、2025-11-25(火)となります。

🔨アプリの設計
このアプリは、倉庫の出荷予定日や、業務のスケジュール管理などを目的としています。
入力日が休日に該当するか自動判定して、翌(前)営業日を自動計算します。
変則的な休日判定を行うために、休日データを管理する「休日管理アプリ」と連携させます。
入力日をキーにして「休日管理アプリ」を検索し、ヒットしたら休日と判定します。
この仕組みなら、「休日管理アプリ」側で休日の追加・修正・削除が自由自在です。

1.休日管理アプリの作成
休日管理アプリを作成します。必要なフィールドは、以下の通りです。
| フィールド名 | フィールドコード | 型 | 備考 |
| 国民の祝日・休日月日 | holiday | 日付型 | 重複禁止の設定 |
| 国民の祝日・休日名称 | holiday_name | 文字列1行 |
日本の国民の休日には、毎年日付が変わる「移動祝日」がありますので、年ごとに休日を登録する必要があります。これらの休日を全て手入力するのは大変なので、内閣府の「国民の祝日」についてというWEBページから、国民の祝日(csv形式)をダウンロードしてインポートします。
毎年日付が変わる移動祝日
毎年日付が変わる主な国民の祝日(移動祝日)は、「春分の日」「秋分の日」「海の日(7月第3月曜日)」「敬老の日(9月第3月曜日)」「スポーツの日(10月第2月曜日)」です。これらは天文学上の「春分日」「秋分日」が基準であったり、曜日が基準であるため、毎年日付が変動します。
政府の公式な休日データを利用することで、休日データの品質保証+入力ミス防止の効果があります。
このデータは毎年2月頃に翌年分が更新されますので、毎年データ更新が必要です。
もし、インポートした休日データに自社の営業日が含まれていれば、そのレコードを削除すればOKです。
さらに、インポートした休日以外に自社独自の休日(1/2,1/3等)があれば追加登録すればOKです。
※フィールド名は、国民の祝日(csv形式)の列名に合わせて設定しています。
こうすれば、ファイルの読込で、フィールドと列の関係が自動セットされるからです。

休日をインポート出来たら、カレンダービューで確認します。
会社独自の休日は、国民の祝日データのインポート後に個別に登録します。
下記でも画面では、会社独自の休日(8/13-8/15)と国民の祝日が登録されていることが分かります。
2025-11-24(月)は、前日の11/23(日)が「勤労感謝の日」と重複していますので、国民の祝日の法律第3条2項の規定で、振替休日となっています。
もし、2025-11-24(月)を営業日としたい場合は、そのレコードを削除すれば休日判定から除外されます。

2.休日判定と営業日を計算するアプリの作成
入力日の営業日判定アプリを作成します。最低限必要なフィールドは、下記の通りです。
その他のフィールドは、自社の業務内容に合わせて追加して下さい。
| フィールド名 | フィールドコード | 型 | 備考 |
| 受注日 | inputDate | 日付型 | 手入力 |
| 作業日 | workDay | 日付型 | 受注日+5日後 |
| 営業日 | businessDay | 日付型 | 作業日の営業日判定 |
3.週休の設定/インポート
自社に定型的な週休のルールが決まっている場合は、週休のルールを設定できるようにします。
その方が、休日管理アプリに週休の年月日を登録する手間が省けるからです。
例えば、日曜が定休日なら、年52回以上の日曜を「休日管理アプリ」に登録するのは手間ですから。
週休ルール(0:なし、1:日曜、2:土日)を設定で選択できるようにします。
- 週休設定=0(なし):休日管理アプリの検索だけで休日判定
- 週休設定=1(日曜):休日管理アプリの検索の戻り値が日曜なら休日判定します
- 週休設定=2(土日):休日管理アプリの検索の戻り値が土曜・日曜なら休日判定します
複雑な週休ルール(隔週の休日、月ごとに変化する休日等)の場合は、週休ルール=0(なし)に設定して、年ごとの変則的な週休データを表計算ソフトで作成し、休日アプリに追加でインポートします。
例えば、毎年2月と8月の第4水曜日は、棚卸作業日で「休日」とするケースなどです。
4.営業日判定のロジック
1.休日判定
入力日をキーにして、休日管理アプリのレコードを検索します。Notfoundならば入力日=営業日です。
入力日が休日アプリのレコードにマッチしたら、日付シフト計算(翌営業日は+1/前営業日はー1)をして、Notfoundになるまで休日判定を繰り返します。日付シフト計算の最後の日付が営業日になります。
2.週休判定
週休設定=0(無し)の場合は何もしません。
週休設定=1(日曜)の場合は、日曜なら日付をシフト計算して、再度休日判定します。
週休設定=2(土日)の場合は、土曜、日曜なら日付をシフト計算して、再度休日判定します。
上記のロジックを簡単なフローチャートで表します。

まとめ
今回は、変則的な休日ルールを「休日管理アプリ」に登録して、別アプリから参照することで営業日判定を行う手法を解説しました。内閣府の国民の祝日データの入手と利用方法もご紹介しています。
カレンダー通りではない変則的な休日ルールの会社で「営業日を自動計算したい」という要望は、物販関係の会社や、製造業の生産計画のスケジュール管理でご相談されることがあります。
一般人がお休みの日に働いている業種(観光業、運送業、飲食業など)を取引先にしている企業では、納品日や配達日などから逆算してスケジュールを組むことが多いので、休日や営業日の判定が重要です。
🔨 自分でカスタマイズしてみたい方へ
以下のNote記事で本記事のカスタマイズ事例を紹介しています。
記事内で紹介しているカスタマイズコードは、無料で利用できるので是非挑戦してみて下さい。
「note:アプリ活用研究会(キン活)」は、当サイトのメンバーが執筆しています。

🌸 アプリテンプレートの販売
本記事でご紹介しているアプリテンプレートを、下記の料金プランで販売しています。
導入をご希望の方は、各プランの「お申込み/お問い合わせ」ボタンからお問い合わせください。

■ 料金プラン
◆単品販売(買取型)は、導入サポート付きの価格です。
単品動作タイプは60,000円、2アプリ連携タイプは100,000円、3つ以上連携タイプは150,000円です。
◆簡易サポート契約では、当サイトのアプリテンプレートとプラグインを合計6種類までご利用できます。
◆会員サポート契約では、ご利用範囲「無制限」で運用ヘルプデスク対応までフルサービスでご提供します。
| 項目 | 単品販売 | 簡易サポート | 会員サポート |
|---|---|---|---|
| 料金体系 | 100,000円 (税抜) | 120,000円 (税抜) | 360,000円 (税抜) |
| 契約期間 | なし | 毎年更新 | 6か月更新 |
| 導入サポート | ✔ | ✔ | ✔ |
| メールサポート | × | ✔ | ✔ |
| チャットサポート | × | ✔ | ✔ |
| バージョンアップ対応 | × | ✔ | ✔ |
| 運用ヘルプデスク対応 | × | × | ✔ |
| 商品のご利用範囲 | 本商品のみ | 6種類までご利用可能 ユーザー数10名まで |
無制限 ユーザー数30名まで |
| お問い合わせ/お申し込み | 購入する | お申込み |
🏫 kintone人材育成研修
この様なカスタマイズを自分で出来る様になりたい方は、当サイトの「Kintome人材育成」上級コースの受講をご検討して下さい。当サイトのTIPSで紹介しているカスタマイズ例のテンプレートを使えば、簡単に実装出来ます!
上級コースの受講者には、特典で当サイトのカスタマイズテンプレート(3種類まで)と3か月のサポート契約を無償でご提供しています。
研修目的を「カスタマイズテンプレートのアプリ導入」とする研修メニューもご提案可能です。

🧩 プラグインのご紹介
当社開発の、休日判定&営業日計算プラグイン(休日アプリ連携)をご紹介します。
社内ルールや権限の関係でJavascriotカスタマイズが使えない場合は、こちらをご検討下さい。
📣カスタマイズ・導入支援いたします!
本記事の様な「kintoneアプリのカスタマイズ」をご希望の企業様へ
kintoneを便利に活用できるカスタマイズと運用支援は、ぜひ当社にご相談ください!

#kintone #Javascript #カスタマイズ #営業日の判定

