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を生成するロジックが必要です。
続きは、また。