if array != 将数组与单元格值进行比较
if array != to compare array to cell value
目前我正在将值单独与错误值进行比较,及其工作
function test()
{
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var A2 = ss.getRange('A2').getValue();
if( A2 != "#N/A" && A2 != "#REF!" && A2 != "#ERROR!" && A2 != "" ) // check if error
{
ss.getRange(2,2,1,1).setValue("different");
}
else
{
ss.getRange(2,2,1,1).setValue("equal");
}
};
但我想设置一个全局常量,用于多个函数,所以我可以 add/remove itens 并使代码更清晰,而不是重复相同的东西
const ErrorValues = ["#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A","#ERROR!"];
所以我尝试使用数组来比较,但是我无法得到我想要的结果,我试过了
function test2()
{
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var A2 = ss.getRange('A2').getDisplayValue();
if (ErrorValues.indexOf() != A2) // tried != -1
{
ss.getRange(2,2,1,1).setValue("different");
}
else
{
ss.getRange(2,2,1,1).setValue("equal");
}
};
function test3()
{
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var A2 = ss.getRange('A2').getDisplayValue();
for (var i = 0; i < ErrorValues; i ++) // check if error
{
if(ErrorValues[i] != A2)
{
ss.getRange(2,2,1,1).setValue("different");
}
else
{
ss.getRange(2,2,1,1).setValue("equal");
}
}
};
尝试了我在这里找到的一些变体和其他示例,但到目前为止遇到了问题
编辑以添加示例
你尝试过 includes
:
const ErrorValues = ["#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A","#ERROR!"];
function test() {
var A2 = "#NULL!"
if (!ErrorValues.includes(A2)) {
console.log("different")
} else {
console.log("equal")
}
};
test()
目前我正在将值单独与错误值进行比较,及其工作
function test()
{
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var A2 = ss.getRange('A2').getValue();
if( A2 != "#N/A" && A2 != "#REF!" && A2 != "#ERROR!" && A2 != "" ) // check if error
{
ss.getRange(2,2,1,1).setValue("different");
}
else
{
ss.getRange(2,2,1,1).setValue("equal");
}
};
但我想设置一个全局常量,用于多个函数,所以我可以 add/remove itens 并使代码更清晰,而不是重复相同的东西
const ErrorValues = ["#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A","#ERROR!"];
所以我尝试使用数组来比较,但是我无法得到我想要的结果,我试过了
function test2()
{
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var A2 = ss.getRange('A2').getDisplayValue();
if (ErrorValues.indexOf() != A2) // tried != -1
{
ss.getRange(2,2,1,1).setValue("different");
}
else
{
ss.getRange(2,2,1,1).setValue("equal");
}
};
function test3()
{
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('test');
var A2 = ss.getRange('A2').getDisplayValue();
for (var i = 0; i < ErrorValues; i ++) // check if error
{
if(ErrorValues[i] != A2)
{
ss.getRange(2,2,1,1).setValue("different");
}
else
{
ss.getRange(2,2,1,1).setValue("equal");
}
}
};
尝试了我在这里找到的一些变体和其他示例,但到目前为止遇到了问题
编辑以添加示例
你尝试过 includes
:
const ErrorValues = ["#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A","#ERROR!"];
function test() {
var A2 = "#NULL!"
if (!ErrorValues.includes(A2)) {
console.log("different")
} else {
console.log("equal")
}
};
test()