获取具有特定值 Google 表的单元格集合
Get Collection Of Cells With A Certain Value Google Sheets
我有一个要单击的按钮,它会将我滚动到某个位置。我这样做是为了让我进入第 100 行:
function ScrollMe(){
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet();
var row = 100;
file.setActiveCell(sheet.getRange(row,1));
}
如果找到列 'B' 中包含 (REGEX=>"Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+") 的所有单元格的列表,然后转到最后一个值,我想做什么像。所以基本上,转到 'B' 列中以 "Version: " 开头的最后一个单元格,然后有一位、两位或三位数字、一个小数点,然后是两个数字,然后是任何事后的信件文本数量。我希望它看起来像这样:
function ScrollMe(){
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet();
//C# lambda
var row = FindAll(a=> a.COLUMN == 'B' && a.VALUE.RegexMatch("Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+"));
file.setActiveCell(sheet.getRange(row,1));
}
我假设您希望脚本找到 B 列中与您的正则表达式匹配的最后一个单元格。如果是这种情况,您可以使用此代码:
function ScrollMe() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getRange("B:B").getValues();
var regex = new RegExp(
'Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+');
for (var i = 0; i < data.length; i++) {
if (regex.test(data[i][0])) {
var lastMatch = i;
}
}
sheet.setActiveRange(sheet.getRange(lastMatch + 1, 2));
}
之前的代码使用了您的方法。它将首先读取完整的 B 列,然后迭代以找到与正则表达式匹配的最后一个单元格;当它找到该单元格时,它将 select 它。如果您对功能有任何疑问,请问我。
我有一个要单击的按钮,它会将我滚动到某个位置。我这样做是为了让我进入第 100 行:
function ScrollMe(){
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet();
var row = 100;
file.setActiveCell(sheet.getRange(row,1));
}
如果找到列 'B' 中包含 (REGEX=>"Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+") 的所有单元格的列表,然后转到最后一个值,我想做什么像。所以基本上,转到 'B' 列中以 "Version: " 开头的最后一个单元格,然后有一位、两位或三位数字、一个小数点,然后是两个数字,然后是任何事后的信件文本数量。我希望它看起来像这样:
function ScrollMe(){
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet();
//C# lambda
var row = FindAll(a=> a.COLUMN == 'B' && a.VALUE.RegexMatch("Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+"));
file.setActiveCell(sheet.getRange(row,1));
}
我假设您希望脚本找到 B 列中与您的正则表达式匹配的最后一个单元格。如果是这种情况,您可以使用此代码:
function ScrollMe() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getRange("B:B").getValues();
var regex = new RegExp(
'Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+');
for (var i = 0; i < data.length; i++) {
if (regex.test(data[i][0])) {
var lastMatch = i;
}
}
sheet.setActiveRange(sheet.getRange(lastMatch + 1, 2));
}
之前的代码使用了您的方法。它将首先读取完整的 B 列,然后迭代以找到与正则表达式匹配的最后一个单元格;当它找到该单元格时,它将 select 它。如果您对功能有任何疑问,请问我。