我为一个有多个选项卡的谷歌工作表创建了一个脚本编辑器。我似乎无法使用的一个if语句是-if sheet"员工发展";列8等于";不合格的";AND列13不等于"0";如果"无数据";,将行移到页";不合格的">我尝试了很多不同的方法来重新安排,但都无法奏效。
**function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Employee Evolution" && r.getColumn() == 8 && r.getValue() == "Disqualified" && r.offset.getValue(0,5) != "NO DATA") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Disqualified");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1,numColumns).moveTo(target);
s.deleteRow(row);**
我没有编码经验,所以我很难理解解释这些东西的javascript文档。请帮忙!
下面是我的电子表格链接https://docs.google.com/spreadsheets/d/1vp46hMbmB5968cRW2BGhS66qqNhl91Llk8xeknlRuQc/edit#gid=0
现在,我只有第一个if语句和else-if语句设置了多个条件,但这不起作用。当我用Disqualified填充第8列(H(,用任何东西填充第13列(M(时,什么都不会发生。而且,如果我用Qualified填充H列,用Payed Search填充M列,则不会发生任何事情。
基本上,我希望行移动到PPC选项卡或不合格选项卡。但是,我不希望行移动,直到H列和M列都填充了特定的文本。如果列H表示";合格的";AND列M表示";付费搜索";该行应该移动到PPC选项卡;不合格的";AND列M表示除"无数据"(甚至是"付费搜索"(之外的任何内容,行应移动到"不合格"选项卡。
我无法克服的问题是,在执行true之前,我需要让每个if语句都查看这两列。
我希望这是合理的,并感谢你的帮助。
由于我们没有您正在使用的电子表格,因此无法仅根据代码来定义if是否有效。
但我确实注意到一些事情,可能是错误的,在你的假设下,对于这个突破,如果进入:
s.getName() == "Employee Evolution"
=>检查您激活的当前工作表是否被称为";"员工发展">- CCD_ 2=>检查活动的当前列是否为第8列(h列(
- CCD_ 3=>检查活动的当前单元格是否等于"不合格"(也必须匹配一个事例(
- CCD_ 4=>检查列偏移5(实际上等于列13(是否不同;"无数据";(也必须匹配大小写(
当然,因为这个函数是onEdit,所以只有当你更改电子表格上的内容时,这个代码才会运行。
所以我想,通过阅读该代码,每当有人将第8列更改为"0"时;不合格的";(也必须匹配大写字母(,并且所有其他标准都匹配,则应将其移动到";不合格的";床单请注意您遇到的所有区分大小写的情况。
我认为总的来说,代码似乎很好。共享电子表格,以便我们可以检查可能出现的问题。
PS:我的意思是你的光标被点击/选择了