我正在学习Google脚本,遇到一个找不到解决方案的问题。
我有一个函数,它接受几个字符串和一个单元格作为参数。
我认为传递一个单元格与传递它的值不一样(字符串也是btw)
请找到附件代码:
//return id assigned to data(cell) sheetname
function findInColumn(column, data, colName, sheetname) {
/*
data = cell (cell value is 'bag_backpack.png') does not work
var range = SpreadsheetApp.getActiveRange();
var col = range.getColumn();
var row = range.getRow();
var range2 = SpreadsheetApp.getActiveSheet().getRange(row,col+1);
data = range2.getValue(); (cell value is 'bag_backpack.png') <---fail too
data = 'bag_backpack.png'; <---works
*/
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetname);
var column = sheet.getRange(column + ":" + column); // like A:A
var values = [];
for (var index = 0; index < column.getValues().length; index++) {
values.push(column.getValues()[index][0])
}
var colIndex = getByName(colName, sheetname);
var rowIndex = values.indexOf(data);
//grab id value of data
var range = sheet.getRange(rowIndex+1,colIndex+1);
var data = range.getValue();
return data
}
虽然我很重视并需要您的反馈,但请记住我是个新手,在搜索之前,我花了几个小时进行搜索。
谢谢您的帮助。
编辑:bag_backpack.png
是我正在搜索的一列中要获取该单元格行号的单元格的内容。
var rowIndex = values.indexOf(data);
返回我需要的索引。
但是...如果我将一个单元格而不是像其他位置那样以bag_backpack.png
作为内容的单元格的字符串来馈送给函数,或者甚至从中得出所述值:
var range = SpreadsheetApp.getActiveRange();
var col = range.getColumn();
var row = range.getRow();
var range2 = SpreadsheetApp.getActiveSheet().getRange(row,col+1);
data = range2.getValue(); (cell value is 'bag_backpack.png') <---fail too
在上述情况下:
var rowIndex = values.indexOf(data);
给出-1
而不是所需的索引。
答案 0 :(得分:0)
您拥有的大多数东西对我来说都没有意义。我猜这就是您想要的。由于我不知道您想要什么,也许您可以告诉我我错过了什么。
function findInColumn(column,sheetname) {
var sh=SpreadsheetApp.getActive().getSheetByName(sheetname);
var rg=sh.getRange(column + ":" + column); /
var vA=rg.getValues();
var values = [];
for (var i=0;i<vA.length; i++) {
values.push(vA[i][0]);
}
return values
}
答案 1 :(得分:0)
我要感谢大家抽出宝贵的时间来答复。
问题不是代码造成的,而是第一个文件名的ID,名称表中的文件名大写,而活页夹文件中的文件名没有大写(在Tent.png / tent.png上至少5个小时)
我正在附上我完成的作品的链接,希望对任何人都有益。
https://docs.google.com/spreadsheets/d/1jCy1I4r6PeY3kUWrhNno2XO18Jghq6_b1kyN3AflidM/edit?usp=sharing