GAS(Google Apps Script)では、自由に新規スプレッドシートを作ることができます。

function createSheet() {
  var sheet = SpreadsheetApp.create("hoge");
  sheet.getRange("A1").setValue("test");
}

とは言え、スクリプトを起動するごとに新しいシートを作っていては、同名のスプレットシートが大量に生成されることになり面白くありません。以下のように、ScriptPropertiesを利用して、作成したシートのIDを保存しておけば、無意味なシートを量産せずに済みます。

function createSheet() {
  // 過去に作成したシートを得る
  var sheet;
  var KEY_TEST_SHEET_ID = "test-sheet-id2";
  var sid = ScriptProperties.getProperty(KEY_TEST_SHEET_ID);
  if (sid == null) {
    // 新規作成
    sheet = SpreadsheetApp.create("test/newsheet");
    sid = sheet.getId();
    ScriptProperties.setProperty(KEY_TEST_SHEET_ID, sid);
    sheet.getRange("A1").setValue("1回目");
  } else {
    // 過去のシートを得る
    sheet = SpreadsheetApp.openById(sid);
    sheet.getRange("A2").setValue("2回目");
  }
}