Google apps script 如果单元格包含文本,则自动将文本添加到另一列单元格中
我的工作表有两列,第一列包含“完成”、“升级”、“拒绝”。现在我想要的是,当我键入escalate时,它将在另一列上生成“无法在线验证”Google apps script 如果单元格包含文本,则自动将文本添加到另一列单元格中,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我的工作表有两列,第一列包含“完成”、“升级”、“拒绝”。现在我想要的是,当我键入escalate时,它将在另一列上生成“无法在线验证” | A | B | |Done | | |Escalate|Unable to verify online |
| A | B |
|Done | |
|Escalate|Unable to verify online |
|Reject | |
我会尝试=if(A2=“Escalate”,“HAHA”和“”)
在B列的第2行,它可以工作,现在我想把它应用到整个列
例如,如果在A列中的任何位置找到“升级”一词,则无法验证的将出现在同一行的B列上
有什么想法吗?您必须编写一个自定义函数才能做到这一点。从电子表格中,按照菜单栏上的
工具-->脚本编辑器…
操作。在末尾输入以下代码:
function fillColB() {
var s = SpreadsheetApp.getActiveSheet();
var data = s.getDataRange().getValues();
var data_len = data.length;
for(var i=0; i<data_len; i++) {
if(data[i][0] == "Escalate") {
s.getRange(i+1,2).setValue("unable to verify online");
}
}
}
函数fillColB(){
var s=SpreadsheetApp.getActiveSheet();
var data=s.getDataRange().getValues();
var data_len=data.length;
对于(var i=0;i您可以仅使用Google Sheet的函数来实现这一点。如果您试图根据特定字符串对其进行配置,则可以使用:=If(E5=“Y”,1,),其中E5是包含文本的单元格,“Y”是列中的所需文本,“1”是您希望根据所需文本输出的结果,以及““如果文本不正确,则为所需输出
如果您想知道是否有任何文本,可以使用IsBlank(E5)代替E5=“y”。Ex=If(IsBlank(E16),1)
如果你想更具体一些,Google也有ISTEXT或ISNUM。我按照你给出的说明操作,但当我把=fillColB()放入单元格时,它会说“你没有调用set Value(第7行)的权限”…这意味着什么?试着运行fillColB()在使用公式之前从脚本编辑器中删除。您可以使用菜单栏上的“运行”按钮执行此操作。这不会回答问题-它会查找匹配的文本,但不会追加。