GAS(Google Apps Script)で自動VLOOKUPっぽいことをしてみました




GAS(Google Apps Script)を使って、Google Spread Sheet上でVLOOKUPっぽいことをしてみました。
そもそも最初から、スプレッドシートにVLOOKUP関数いれとけばいいじゃんって話なのですが、わけあって、こんなことをしてしまいした。

やったこと

このような顧客リストシートがあるとして、

「入力シート」のA列に、会員番号を入力すると、自動的に名前が出るようにします。

手順

ツール > スクリプトエディタ
を起動し、以下のコードを入力

sample.gs
function myFunction() {
  const inputSheet = SpreadsheetApp.getActiveSheet(); //シートを取得
  const inputCell = inputSheet.getActiveCell(); //アクティブセルを取得

  //アクティブセルがシート「入力シート」のA列かを判定し、vlookup関数実行
  if( inputSheet.getName()=="入力シート" && inputCell.getColumn()==1 ){ 
    const value = inputCell.getValue();
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("会員リスト");
    const name =  vlookup(value,sheet,2); //vlookup関数呼び出し
    const inputRow = inputCell.getRow();
    inputSheet.getRange(inputRow, 2).setValue(name); 
  }
}

function vlookup(value,sheet,column) {
  let returnValue = "なし";
  for (var i = 2; i <= sheet.getLastRow(); i++) {
    if(value == sheet.getRange(i,1).getValue()){
      returnValue = sheet.getRange(i,column).getValue();
      break;
    }
  }    
  return returnValue;
}


あとは、
トリガーを「編集」に設定し、
デプロイ!

以上です。