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;
}
あとは、
トリガーを「編集」に設定し、
デプロイ!
以上です。