0

我目前正在使用此代码,但它并不像我想象的那么简单:

 var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
 var comCol = headers[0].indexOf('Header Label');

 rng = sheet.getRange(1, comCol + 1);

 var colStr = rng.getA1Notation();
 var colLtr = colStr.charAt(0);
 //Logger.log(colLtr+":"+colLtr); Should output something like "P:P"
 var range = ss.getSheets()[0].getRange(colLtr+":"+colLtr);

我正在选择第一行,创建一个值数组,并相当简单地搜索该数组。我认为笨重的部分是组成整个列范围。在 A1 表示法中,这看起来像“A:A”。

也许我过度思考应该有一个lookupCol(String)功能,甚至是一个getRangeOfCol(Index)功能。

4

2 回答 2

1

尝试这样的事情

var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
 var comCol = headers[0].indexOf('Header Label');
 var comLtr= String.fromCharCode( 65 + comCol );
 var range = ss.getSheets()[0].getRange(comLtr +":"+colLtr);
于 2013-09-25T15:05:29.783 回答
0

为了允许列 AA 及以后,假设标题标签位于第 1 行,我将定义 colLtr 的行更改为:

var colLtr = colStr.substr(0, colStr.indexOf('1')); 
于 2016-09-04T05:37:09.973 回答