메뉴 건너뛰기

app

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

lispro062014.05.05 05:53조회 수 1646댓글 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 (비회원)
    • 글자 크기
[안드로이드] aapt.exe 에러 (by lispro06) [GAS] 구글 캘린더 일정을 스프레드 시트로 가져오기 (by lispro06)

댓글 달기

lispro06
2014.08.16 조회 1615
lispro06
2014.02.08 조회 3859
lispro06
2013.12.11 조회 1527
lispro06
2013.12.10 조회 2790
suritam9
2013.12.06 조회 2101
suritam9
2013.12.02 조회 3278
이전 1 2 3 4 5 6 7 8 9 10... 15다음
첨부 (0)
위로