Javascript 比较两个不同单元格的值计算为false-谷歌应用程序脚本
我是JavaScript新手,我正在制作一个电子表格,试图隐藏单元格内容的列 其思想是:当值1和值2相同(两个不同单元格的值相同)时,列保持为未隐藏。当不相同时,它会隐藏。但是,每次OnEdit时,列都会隐藏 此外,当值相同时,我无法将其取消隐藏。有什么想法吗Javascript 比较两个不同单元格的值计算为false-谷歌应用程序脚本,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我是JavaScript新手,我正在制作一个电子表格,试图隐藏单元格内容的列 其思想是:当值1和值2相同(两个不同单元格的值相同)时,列保持为未隐藏。当不相同时,它会隐藏。但是,每次OnEdit时,列都会隐藏 此外,当值相同时,我无法将其取消隐藏。有什么想法吗 函数onEdit(e){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var s=ss.getSheetByName(“自动媒体规划器”);//输入工作表名称 var cell1=s.ge
函数onEdit(e){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getSheetByName(“自动媒体规划器”);//输入工作表名称
var cell1=s.getRange('C7');
var cell2=s.getRange('AX6');
var value1=cell1.getValues();
var value2=cell2.getValues();
var列=s.getRange(“D1”);
如果(value1!=value2){
s、 hideColumn(柱);
}
如果(value1==value2){
s、 无提示列(列);
}
说明:
- 在代码中,
和value1
是具有以下内容的数组 格式化value2
,因为您使用[[]]
getValues()
- 不能像比较两个值那样比较两个数组。即使数组中的值相同,此
也返回falsevalue1==value2
- 要正确比较两个数组,一种方法是运行:
如果值相同,则将导致trueJSON.stringify(value1)==JSON.stringify(value2)
val1=[[0.0]];
val2=[[0.0]];
console.log(val1==val2)//返回false
console.log(JSON.stringify(val1)==JSON.stringify(val2));//如果是单个单元格,则返回true
使用getValue而不是getValue…….var value1=cell1.getValue();var value2=cell2.getValue();这是一个不选择数组而是选择单个单元格的值的问题!因此从值中删除s就足够了!!好吧,这很有意义。通常是最微小的事情把整个事情搞砸了!:D非常感谢Marios!!!