참조할 파일에 위치한 시트에 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
를 참고했다.
댓글 달기