我目前正在使用此代码,但它并不像我想象的那样简单:
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)
函数。
答案 0 :(得分: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);
答案 1 :(得分:0)
为了允许列AA及更高版本,假设标题标签位于第1行,我将定义colLtr的行更改为:
var colLtr = colStr.substr(0, colStr.indexOf('1'));