GoogleAppsScriptを使って、Spreadsheetのデータから、Googleカレンダーを自動更新するscript。
これで完全放置で同期が完成。

GoogleSpreadsheetからスクリプトエディタを開き、作成。
時間もしくはシートの更新をトリガーにして、自動で同期するように設定。
(イベント数が多いとシート更新にするには向いていないかもしれない)

function cal() {
var sheet = SpreadsheetApp.getActiveSheet(); // このGoogleAppsScriptを開いているSpreadsheet
var lastRow = sheet.getLastRow(); // シートの最後の行を指定
var startRow = 1; // 縦方向に何行目から読み込むか
var numRows = lastRow; // 上で指定した行からシートの最後の行までを範囲とする
var dataRange = sheet.getRange(startRow, 1, numRows, 10);  // 横方向にどこまでの範囲を参照するか
var data = dataRange.getValues();
var calName = "*****";  // カレンダーの名前で指定。自分がオーナーのカレンダーに限る
var cal = CalendarApp.openByName(calName );  // カレンダーの名前を設定
var Events = cal.getEvents(new Date('2001/01/01'), new Date('2020/12/31')); // カレンダーの既存のイベントを全て削除
for (var e in Events) {
Events[e].deleteEvent();
}
for (i in data) {
var row = data[i];
var title = row[9]; // イベント名を横方向の行で指定
var daytoset = row[0];  // 日付を横方向の行で指定
if(daytoset=="")
; // セルに日付が入っていない場合はそのセルはスキップ
else
cal.createAllDayEvent(title, daytoset ); // 終日予定としてイベント作成
}
}