javascript - 根据从另一个循环返回的结果运行一个循环
问题描述
我想勾选 dataset2 中的一个单元格(这是来自 dataset1 的查询),在选定单元格被勾选后,我需要查找勾选单元格的值并从 dataset1 进行查找并将字符串插入 dataset1(对我来说它⭐)。
我想我正在尝试根据查找/条件运行一个循环,这是另一个循环的结果。下面是我的代码,它不工作。
好的,我做了一些小修复,但只有在一个框被打勾时才有效。第二个for if循环中的staffName仅在它是1个字符串时才有效,因此如果勾选了多个框,则它将不起作用。因此,我需要调整代码以使其处理名称数组而不仅仅是 1。
if(dataSheetValues[j][0] == staffName && dataSheetValues[j][1] == lookUpLocation){break};
function starIcon(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName("Sheet1");
var inputSheet = ss.getSheetByName("Sheet2");
var dataSheetLastRow = dataSheet.getLastRow();
var inputSheetLastRow = inputSheet.getLastRow();
var inputSheetValues = inputSheet.getRange(1,1,inputSheetLastRow,2).getValues();
var dataSheetValues = dataSheet.getRange(1,1,dataSheetLastRow,2).getValues();
var lookUpLocation = inputSheet.getRange('C1').getValue();
for (var i=0;i<inputSheetValues.length;i++){
if(inputSheetValues[i][0] == '⭐'){
var staffName = inputSheet.getRange(i+1,2).getValue();
}
}
for(var j=0; j<dataSheetValues.length; j++){
if(dataSheetValues[j][0] == staffName && dataSheetValues[j][1] == lookUpLocation){break};
}
var targetLookup = dataSheet.getRange(j+1,1).getValue();
var starToName = dataSheet.getRange(j+1,1).setValue(targetLookup + '⭐');
inputSheet.getRange('A2:A6').clearContent();
Browser.msgBox('Done!')
}
解决方案
推荐阅读
- python - Map 和 Lambda 函数出现问题
- laravel - 在 Laravel 中更新表单出错
- python - 我有一个哈希列表及其出现次数。我想获取出现次数(分号后的数字)
- c++ - Runge Kutta K 值在迭代时保持为零
- sql - 创建/排名 50 位数字并将其转换为 varchar
- java - 构建应用程序时出现 Gradle 错误
- python - 使用乌龟的python中的警报框
- r - 从一列中删除重复行而不丢失另一列中的数据
- python - 3 个合并的深度神经网络模型中的交叉验证而不是训练和测试
- javascript - 无法通过 webpack-cli 创建 webpack.config.js