메뉴 건너뛰기

app

[GAS] 다른 파일에서 VLOOKUP 유사 구현

lispro062014.05.05 05:53조회 수 1585댓글 0

    • 글자 크기
참조할 파일에 위치한 시트에 NamedRange2라고 범위 이름을 지정하고, range_name을 파라미터로 한 getNamedRangeValues를 호출한다. 현재 시트에서 원하는 값의 셀을 선택해(key 값이 되겠다.) 비교한 후, 해당 열의 값을 추출해 낼 수 있다.

test_getNamedRangeValues함수에 3을 입력한다고 치면, 세번째 값이 나오도록 할 수 있겠다.

셀에  =test_getNamedRangeValues(0) 와 같이 입력 가능하군. 올..

function test_getNamedRangeValues(j) {
    var range_name = "NamedRange2";
    var range_values = getNamedRangeValues(range_name);
  rl=range_values.length;
  
  for(i=1;i<rl;i++){
    var active_spreadsheet = SpreadsheetApp.getActiveSheet();
    var vl=active_spreadsheet.getRange(1, 1, 6, 4).getValues();;
    
      Logger.log(range_values[i][4]);
    if(range_values[i][4]==vl[1][3]){
      return range_values[i][j];
    }
  }
}

// Return an array containing the values in the range name argument.
// Passing a non-existent range name raises the following error:
// TypeError: Cannot call method "getValues" of null. (line 0).
function getNamedRangeValues ( range_name ) {
    // Create an spreadsheet object.
  var ss=SpreadsheetApp.openById("파일ID");
  var sn=ss.getSheetByName("시트이름");
    // Create the range object.
    var range = ss.getRangeByName(range_name);
  
    // Call the getValues() range object method to create an array 
    // containing the values for the cells in that named range.
    var range_values = range.getValues();
  
    // Return the array
    return range_values;
  
}

http://www.javascript-spreadsheet-programming.com/2011/01/named-ranges.html
를 참고했다.
lispro06 (비회원)
    • 글자 크기

댓글 달기

lispro06
2015.11.20 조회 1454
lispro06
2015.05.15 조회 1447
lispro06
2015.05.15 조회 1443
lispro06
2015.05.15 조회 2293
이전 1 2 3 4 5 6 7 8 9 10... 14다음
첨부 (0)
위로