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

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script

Genetics Algorithm Method with Progressive Error Prediction

Menampilkan Undetermined Circle Progressbar di Java

Kode Java Membandingkan Dua File

Kode Apps Script MailApp untuk Form Mengirimkan Email

Eliminasi Gauss-Jordan untuk Invers Matrix dengan C++

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

Checking Data yang Belum Dimasukkan dalam Daftar Menggunakan Query Google Sheet