Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 填充其他列时如何添加短语?_Javascript_Google Sheets - Fatal编程技术网

Javascript 填充其他列时如何添加短语?

Javascript 填充其他列时如何添加短语?,javascript,google-sheets,Javascript,Google Sheets,示例:填充A列时,将在B列中添加短语、单词或我选择的任何内容 我想这是添加使用脚本。 这是我的工作表的链接,必须获得许可,因为这是在工作帐户下。 我可以编写一个时间戳,所以我猜设置必须类似,只是没有时间格式。这就是我到目前为止所做的。不太清楚从这里到哪里去 { var sheet = e.source.getActiveSheet(); if (sheet.getName() == "Name of sheet here") { var actRng = sheet.get

示例:填充A列时,将在B列中添加短语、单词或我选择的任何内容

我想这是添加使用脚本。 这是我的工作表的链接,必须获得许可,因为这是在工作帐户下。

我可以编写一个时间戳,所以我猜设置必须类似,只是没有时间格式。这就是我到目前为止所做的。不太清楚从这里到哪里去

{
  var sheet = e.source.getActiveSheet();
  if (sheet.getName() == "Name of sheet here")
  {
    var actRng = sheet.getActiveRange();
    var editColumn = actRng.getColumn();
    var rowIndex = actRng.getRowIndex();
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
    var header = headers[0].indexOf("Name of column") + 1; // Name of Colum I want to add phrase
    var orderCol = headers[0].indexOf("Name of column") + 1; // Name of Column that will be populated with data

}

假设要添加的值与您的示例中的值相同且是静态的,那么这应该是可行的。我在里面放了一些评论来解释我的假设

function onEdit(e){
  if (e.range.getColumn() == 3.0 && e.range.getRow() > 1.0){ // You may need to add a condition on the sheet too if it should only apply to as pecific sheet and not all of them
    var valueToAdd = "email@phrase.com"; // Whatever you want to add to column D, assuming it's static, else I'll need to know more about the value to add (how to generate / where to fetch)
    if (typeof e.value != "object") e.range.getSheet().getRange(e.range.getRow(), e.range.getColumn() + 1).setValue(valueToAdd);  
    // Use commented line below if you also want to remove the content of column D when column C is set back to blank. 
    // else e.range.getSheet().getRange(e.range.getRow(), e.range.getColumn() + 1).setValue("");  
  }
}

假设要添加的值与您的示例中的值相同且是静态的,则应该可以这样做。我在里面放了一些评论来解释我的假设

function onEdit(e){
  if (e.range.getColumn() == 3.0 && e.range.getRow() > 1.0){ // You may need to add a condition on the sheet too if it should only apply to as pecific sheet and not all of them
    var valueToAdd = "email@phrase.com"; // Whatever you want to add to column D, assuming it's static, else I'll need to know more about the value to add (how to generate / where to fetch)
    if (typeof e.value != "object") e.range.getSheet().getRange(e.range.getRow(), e.range.getColumn() + 1).setValue(valueToAdd);  
    // Use commented line below if you also want to remove the content of column D when column C is set back to blank. 
    // else e.range.getSheet().getRange(e.range.getRow(), e.range.getColumn() + 1).setValue("");  
  }
}
对不起,英国人

你可以很容易地绕过你的需要写在D1以下公式

={“填充短语”;数组公式(IF(C2:C)”email@phrase.com“;”)}

在清除D2中的所有内容后,在C2中输入值并检查结果

西德尼对不起英国人

你可以很容易地绕过你的需要写在D1以下公式

={“填充短语”;数组公式(IF(C2:C)”email@phrase.com“;”)}

在清除D2中的所有内容后,在C2中输入值并检查结果


西德尼

这里有很多信息缺失。我假设,因为您使用的是
e.source
,所以您在
onEdit()函数中使用了它。但实际的用例并不那么清楚。您没有使用所声明的大多数变量,也没有指明需要如何使用它们。有些是重复的(
header
orderCol
相同,例如)。那么,请你详细说明一下,并分享你的电子表格,其中描述了你的出发点和期望的结果?Hello@BenoîtWéry,我提供了一个示例图像以及我的电子表格的链接。请注意,这是一个工作帐户,必须授予权限。一旦你需要编辑访问权限,我可以立即提供,因为我正在积极工作,所以访问我的电子邮件没有问题。这里有很多信息缺失。我假设,因为您使用的是
e.source
,所以您在
onEdit()函数中使用了它。但实际的用例并不那么清楚。您没有使用所声明的大多数变量,也没有指明需要如何使用它们。有些是重复的(
header
orderCol
相同,例如)。那么,请你详细说明一下,并分享你的电子表格,其中描述了你的出发点和期望的结果?Hello@BenoîtWéry,我提供了一个示例图像以及我的电子表格的链接。请注意,这是一个工作帐户,必须授予权限。一旦你需要编辑权限,我可以立即提供,因为我正在积极工作,所以访问我的电子邮件没有问题。你能将此设置为仅应用于特定工作表吗?感谢您在第一个
if
中添加以下子句的条件:
和&e.range.getSheet().getName()=“your_sheet_name”
(在右括号之前)。我还有一个问题,这是关于此脚本的灵活性。比如说,我想做一个改变,我需要它来查看不同的列,并在不同的列中解析所需的短语。我该怎么做呢?示例:如果列D填充数据,则列G填充所需的短语。检测到更改的列是第一个<代码>中的一个,如果,那么在当前的情况下,更改值<代码> 3 < /代码>,您需要考虑任何列索引(从1开始,对于B为2,……)。您正在写入的列在第4行中定义:
getRange(e.range.getRow(),e.range.getColumn()+1)
。在这里,将部分
e.range.getColumn()+1
更改为一个与列索引对应的数字(在当前情况下,我本可以编写
4
,但我只是假设它始终是下一列)。我理解,非常感谢,非常感谢,很抱歉你不得不看我的鸡抓脚本!祝你今天愉快,谢谢你的课!能否将此设置为仅应用于特定的工作表?感谢您在第一个
if
中添加以下子句的条件:
和&e.range.getSheet().getName()=“your_sheet_name”
(在右括号之前)。我还有一个问题,这是关于此脚本的灵活性。比如说,我想做一个改变,我需要它来查看不同的列,并在不同的列中解析所需的短语。我该怎么做呢?示例:如果列D填充数据,则列G填充所需的短语。检测到更改的列是第一个<代码>中的一个,如果,那么在当前的情况下,更改值<代码> 3 < /代码>,您需要考虑任何列索引(从1开始,对于B为2,……)。您正在写入的列在第4行中定义:
getRange(e.range.getRow(),e.range.getColumn()+1)
。在这里,将部分
e.range.getColumn()+1
更改为一个与列索引对应的数字(在当前情况下,我本可以编写
4
,但我只是假设它始终是下一列)。我理解,非常感谢,非常感谢,很抱歉你不得不看我的鸡抓脚本!祝你今天愉快,谢谢你的课!谢谢你,西德尼,这也会很有用的。如果我想在列a中填充数据时添加一个带有另一个短语的第二列,您将如何使用此方法实现这一点?示例填充A列时,在C列中填入“phrase@email.com,并用“Ran”填充D列