Google apps script 基于内容查询返回命名范围
我正在建立一个脚本,它将通知人们他们计划工作的日期。我有一个日历,上面有每天的命名范围(block1、block2等)。我需要脚本去下的名称列表,并为每个名称,查询块(s)它出现在 例如: 比尔的名字出现在第1、3和5区。因此,对于他来说,它将返回“Block 1、Block 2和Block 3”Google apps script 基于内容查询返回命名范围,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在建立一个脚本,它将通知人们他们计划工作的日期。我有一个日历,上面有每天的命名范围(block1、block2等)。我需要脚本去下的名称列表,并为每个名称,查询块(s)它出现在 例如: 比尔的名字出现在第1、3和5区。因此,对于他来说,它将返回“Block 1、Block 2和Block 3” 我能够从a1符号和相反的符号中提取名称,并查询字符串出现在哪个单元格中,我的问题是缩小单元格和它出现的范围之间的差距 我的库中有一组函数,用于检查单元格是否在给定范围内,甚至可以访问命名范围集 fun
我能够从a1符号和相反的符号中提取名称,并查询字符串出现在哪个单元格中,我的问题是缩小单元格和它出现的范围之间的差距 我的库中有一组函数,用于检查单元格是否在给定范围内,甚至可以访问命名范围集
function IsInRange(checkRange, targetCell) {
//--- check the target cell's row and column against the given
// checkrange area and return True if the target cell is
// inside that range
var targetRow = targetCell.getRow();
if (targetRow < checkRange.getRow() || targetRow > checkRange.getLastRow()) return false;
var targetColumn = targetCell.getColumn();
if (targetColumn < checkRange.getColumn() || targetColumn > checkRange.getLastColumn()) return false;
//--- the target cell is in the range!
return true;
}
function IsInNamedRange(checkCell) {
var namedRanges = SpreadsheetApp.getActive().getNamedRanges();
for (var index = 0; index < namedRanges.length; ++index) {
if (IsInRange(namedRanges[index].getRange(), checkCell)) {
var rangeName = namedRanges[index].getName();
return rangeName;
}
}
return "";
}
function main() {
var selectedCell = SpreadsheetApp.getActive().getActiveCell();
var result = IsInNamedRange(selectedCell);
if (result == "") {
Logger.log('the selected cell ' + selectedCell.getA1Notation() + ' is not in a named range');
} else {
Logger.log('the selected cell ' + selectedCell.getA1Notation() + ' is in the range named ' + result);
}
}
函数IsInRange(检查范围,目标单元格){
//---对照给定值检查目标单元格的行和列
//检查范围区域,如果目标单元格为
//在这个范围之内
var targetRow=targetCell.getRow();
if(targetRowcheckRange.getLastRow())返回false;
var targetColumn=targetCell.getColumn();
if(targetColumncheckRange.getLastColumn())返回false;
//---目标单元格在范围内!
返回true;
}
函数IsInNamedRange(检查单元格){
var namedRanges=SpreadsheetApp.getActive().getNamedRanges();
对于(变量索引=0;索引
Roll your own solution(滚动您自己的解决方案)——没有一种方法可以检查某个范围是否是任何命名范围的成员