WBSを作ったり、カレンダーを作ったりする際に地味に面倒なのが祝日考慮です。
曜日については土日を休み判定すれば機械的にスケジュールが作れますが、
祝日は自分で調べて手入力だとイケてない。
GoogleAppsScriptでは日本の祝日カレンダーから取得できます。
コピペで使える祝日取得処理
スプレッドシート側の準備
C2に取得開始日、E2に取得終了日を入力して、GASをじっこうすると、祝日一覧が取得できます。


// スプレッドシートにメニューを追加する
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "祝日取得",
functionName : "getJpHolyiday"
}];
sheet.addMenu("GoogleAppsScript", entries);
};
function getJpHolyiday() {
//日本の祝日カレンダーを取得
//アメリカ
//ja.usa#holiday@group.v.calendar.google.com
//中国
//ja.china#holiday@group.v.calendar.google.com
//台湾
//ja.taiwan#holiday@group.v.calendar.google.com
var JP_HOLIDAY_CALENDAR = 'ja.japanese#holiday@group.v.calendar.google.com'
// シート名
var SHEET_NAME = 'schedule';
//開始位置
var RANGE = 5;
// フォーマット
var FORMAT = 'yyyy/mm/dd';
// シート情報を取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
sheet.getRange(5, 2, 300, 2).clearContent();
sheet.getRange(5, 8, 300, 2).clearContent();
// カレンダー情報を取得
var jp_calender = CalendarApp.getCalendarById(JP_HOLIDAY_CALENDAR);
// 当日の予定を取得
var startDate = new Date(sheet.getRange("C2").getValues());
var endDate = new Date(sheet.getRange("E2").getValues());
var jp_schedules = jp_calender.getEvents(startDate, endDate);
var tmpDate = startDate;
var cnt = 0;
// 祝日を繰り返し出力する
for(var index = 0; index < jp_schedules.length; index++) {
var range = RANGE + index;
// 日付を出力
sheet.getRange(range, 2).setValue(jp_schedules[index].getStartTime()).setNumberFormat(FORMAT);
// 予定名を出力
sheet.getRange(range, 3).setValue(jp_schedules[index].getTitle());
}
}