我一直在从事一个新项目,我需要根据单元格值创建新表。
function ign_list() {
var nRange = SpreadsheetApp.getActive().getRangeByName("player")
return nRange.getValues()
}
function sheet_list() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var i=0 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )
return out
}
function new_sheet() {
var ui = SpreadsheetApp.getUi();
var sheet_names = sheet_list();
var ign_names = ign_list();
for (var i=0; i<ign_names.length; i++){
for (var n=0; n<sheet_names.length; n++) {
if (ign_names[i] !="") {
if (ign_names[i] == sheet_names[n]) {
ui.alert(ign_names[i]+" Equal "+sheet_names[n])
} else {
ui.alert(ign_names[i]+" Not Equal "+sheet_names[n])
}
}
}
}
}
我有一个名为Raw Stats的工作表,在此范围内,我有一个值为Raw Stats的单元格,但比较时说不相等。
还有另一种比较字符串的方法吗?
使用indexOf
for (var i=0; i<ign_names.length; i++){
if (sheet_names.indexOf(ign_names[i][0]) != -1) {
SpreadsheetApp.getActiveSpreadsheet().insertSheet().setName(ign_names[i][0]);
} else {
}
}
即使值相同也总是返回-1
答案 0 :(得分:0)
您正在使用getValues()
方法。返回一个行数组。
即使您的范围仅受到一列的影响,其结果也将是:[[A1],[A2],[A3],...]
您可以通过展平数组或使用ign_names[i][0]
来解决此问题。
希望这会有所帮助