Menambahkan Random Key sebagai ID Pembeda di Google Sheet dengan Apps Script

Dimisalkan terdapat data yang tersimpan di Google Sheets dan tidak terdapat pembeda antara satu dengan yang lain.

Hal ini akan mengakibatkan kesulitan jika akan dilakukan penghapusan salah satu atau bebarapa data tertentu melalui web apps.

Oleh karena itu, kode Apps Script di bawah ini, adalah kode untuk menambahkan "unique ID key" pada tiap data, terutama untuk mempermudah proses penghapusan data, yang biasanya dilakukan melalui web apps oleh pengguna yang berbeda.

Kode

function makeRandomChar(length)
{
    var result = '';
    const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@';
    let counter = 0;
    while (counter < length) {
      result += characters.charAt(Math.floor(Math.random() * characters.length));
      counter += 1;
    }    
    return result;
}

function addRandomKey()
{
  var target = SpreadsheetApp.openById("--ID Google Sheets file--");
  var ss=target.getSheetByName("Data");
  var data=ss.getRange("A2:G").getValues().map(function(row,index){
    var pass=false;
    if(row[0]!="" && row[4]==""){
      pass=true;
      row[row.length]=index;
    }
    return pass?row:null;
  }).filter(function(cellData){return cellData != null;});

  for(var i=0;i<data.length;i++){
    var rand=makeRandomChar(5);
    var itexist=ss.getRange("A2:G").getValues().map(function(row,index){return (row[4]==rand)?row:null;}).filter(function(cellData){return cellData != null;});
    if(itexist.length<=0){
      ss.getRange("E"+(2+data[i][data[i].length-1])).setValue(rand);
    }else i--;
  }
}

Demo



Komentar



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Algorithma Julianday dengan Java

Balapan Santai Kediri-Malang tiap Hari Senin Pagi

Jasa Penjadwalan Semester, UTS dan UAS Perguruan Tinggi menggunakan Google Sheet

Kaidah Baku untuk Konsistensi Data (PT, Tbk, Pty., & Ltd.)

Besar Pajak Tahunan Honda Versa 2016 di Tahun 2022

Ketika Pengelola Basis Data Terabaikan

Menyikapi Ucapan AI Pejabat

Game TicTacToe dengan Greenfoot

Modifikasi Obyek 3D Hellosceneform dengan MeshLab