スキルアップを始める!

【GAS】8桁の一意のIDを生成する関数

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

Google Apps Scriptを使用してGoogleスプレッドシートに8桁の一意のIDを生成し、追加してみます。

コードの詳細

function createUniqueID() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lastRow = sheet.getLastRow();
  var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  var uniqueID = '';
  var length = 8; // 8桁のIDを生成するための長さを指定

  for (var i = 0; i < length; i++) {
    var randomIndex = Math.floor(Math.random() * characters.length);
    uniqueID += characters.charAt(randomIndex);
  }

  sheet.getRange(lastRow + 1, 1).setValue(uniqueID); // 新しい行にIDを設定
}

シートの取得

  • SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    現在アクティブなスプレッドシートのアクティブなシートを取得します。このシートに対してIDを追加します。

最終行の取得

  • var lastRow = sheet.getLastRow();
    シート内のデータが入力されている最後の行番号を取得します。これにより、次にデータを入力する行を決定できます。

文字セットの定義

  • var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    IDを構成するために使用する文字のセットを定義します。大文字、小文字、数字を含んでいます。

IDの生成

  • var uniqueID = '';
    空の文字列を用意して、ここにランダムに選ばれた文字を追加していきます。
  • var length = 8;
    生成するIDの長さを8に設定します。
  • for (var i = 0; i < length; i++) { ... }
    8回ループを回して、ランダムな文字を選び、uniqueIDに追加します。
    • var randomIndex = Math.floor(Math.random() * characters.length);
      0からcharactersの長さまでのランダムなインデックスを生成します。
    • uniqueID += characters.charAt(randomIndex);
      ランダムに選ばれたインデックスに対応する文字をuniqueIDに追加します。

IDの設定

  • sheet.getRange(lastRow + 1, 1).setValue(uniqueID);
    新しいIDをシートの最後の行の次の行の1列目に設定します。lastRow + 1により、データがある最後の行の次にIDが追加されます。

まとめ

このコードにより、スプレッドシートの新しい行に8桁のランダムなIDが生成されて入力されます。これにより、各行に一意の識別子を簡単に追加することができます。

ただし、重複しない可能性は0ではないので、厳密に生成する場合は、重複しないIDを生成するロジックが必要です。

続きは、また。

URLをコピーしました!