当从下拉列表中选择列标题名称时,Cooper编写了以下onEdit脚本对列进行排序:
//Dropdown List sort Events/Incidents
function sortByColumnEventsIncidents(e) {
const sh=e.range.getSheet();
if(sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value) {
const headerArray=sh.getRange(2,1,1,sh.getLastColumn()).getValues()[0];
const col={};
headerArray.forEach(function(h,i){col[h]=i+1;});
const rg=sh.getRange(3,1,sh.getLastRow()-2,sh.getLastColumn());
rg.sort({column:col[e.value],ascending:false});
sh.getRange('A3').activate();
}
}
这很好用,但是我现在想根据从下拉列表中选择的列标题名称更改升序的true / false条件。因此,我修改了脚本,目的是当从下拉列表中选择“分支”,“报告者”或“员工”时,所选列将升序排列,但是如果我要选择其他任何标题名称,那些按降序排列。这是我修改过的脚本,但无法正常运行:
//Dropdown List sort Events/Incidents
function sortByColumnEventsIncidents(e) {
const sh=e.range.getSheet();
if(sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value=='Employee' || sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value=='Reported by' || sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value=='Branch') {
const headerArray=sh.getRange(2,1,1,sh.getLastColumn()).getValues()[0]; //Location of Header row
const col={};
headerArray.forEach(function(h,i){col[h]=i+1;});
const rg=sh.getRange(3,1,sh.getLastRow()-2,sh.getLastColumn()); //Range to sort
rg.sort({column:col[e.value],ascending:true});
sh.getRange('A3').activate();
}
if(sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value!=='Employee' || sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value!=='Reported by' || sh.getName()=='Events/Incidents' && e.range.columnStart==5 && e.range.rowStart==1 && e.value!=='Branch') { //Location of Dropdown = E1
const headerArray=sh.getRange(2,1,1,sh.getLastColumn()).getValues()[0]; //Location of Header row
const col={};
headerArray.forEach(function(h,i){col[h]=i+1;});
const rg=sh.getRange(3,1,sh.getLastRow()-2,sh.getLastColumn()); //Range to sort
rg.sort({column:col[e.value],ascending:false});
}
}
在其他工作表中,我能够修改代码并使代码在设置了一个条件的地方运行,例如如果等于“ Branch”,则升序排序;如果不等于“ Branch”,则降序排序,但是当我设置多个条件时,我无法使其正常工作。
我希望能获得一些帮助,以使其正常工作。
答案 0 :(得分:1)
尝试一下:
{
"dynamicLinkInfo":{
"domainUriPrefix":"my_custome_domain_name",
"link":"my_dynamic_link",
"androidInfo":{
"androidPackageName":"my_package_name",
"androidFallbackLink":"https://play.google.com/store/apps/details?id=my_package_name",
"androidMinPackageVersionCode":"2"
},
"navigationInfo":{
"enableForcedRedirect":true,
}
},
"suffix":{
"option":"UNGUESSABLE"
},
"desktopInfo":{
"desktopFallbackLink":"https://www.other-example.com/"
}
}