【问题标题】:In google sheets, how do I copy (Not Move) entire row to another sheet based on a word (Not single value) in a cell在谷歌表格中,如何根据单元格中的单词(非单个值)将整行复制(不移动)到另一张表格
【发布时间】:2017-02-03 11:39:24
【问题描述】:

当单元格中有特定单词时,我想将整行复制(不移动)到另一张纸。 我有一个名为“列表”的表格,有 7 列,在第 7 列中,我为每一行添加了注释。每次我在该列中写下“Lead”一词时,我都希望将整行复制到另一张名为“Opportunity”的工作表中。请注意,在该单元格中,“Lead”一词后面会跟着其他词,例如:“Lead,想要移除树木和美化服务”。所以它不是一个单一的值。

非常感谢您的帮助。

【问题讨论】:

    标签: google-sheets row copying


    【解决方案1】:

    您可以为此创建自定义函数。 步骤:

    • 工具-> 脚本编辑器。 比如写:

      function myFunction(input) { return input; }

    • 转到资源 -> 当前项目的触发器 -> 添加触发器

    • 从表中选择您的函数名称 (myFunction),更改然后保存
    • 例如在 Google 表格单元格中写入

    =myFunction(A1)

    并更改 A1 单元格。你会得到改变。 如果单元格有“Lead”一词,则复制单元格值的工作函数代码:

    function myFunction(input) {
      var array = [''];
      if(typeof input != 'object') {
        return array;
     } else {
        for (var name in input) {
            for (var name2 in input[name]) {
              if(input[name][name2].toString().indexOf('Lead') != -1) {
                array.push(input[name]);
             }
           }
        }
      }
      if(array.length > 1) {
        array.splice(0, 1);
      }
      return array;
    }
    

    用法。在第二张(机会)过去的任何单元格中:

    =myFunction('List'!A1:G50)

    这是link 的工作公式。

    【讨论】:

    • 感谢 Dima,但我对编写用于单词搜索和将数据放置到另一张表的函数一无所知:/。
    • 感谢 Dima,但不幸的是我无法让它工作。我添加了触发器(myFunction、来自电子表格、更改时)然后添加了您的脚本。然后,在机会表上,我粘贴了 myFunction('List'!A1:G50)。
    • 约翰,是有一些错误显示还是空的?您是否尝试更改“列表”表中的某些内容?每个公式都应该以“=”符号开头,对你来说是这样吗?
    【解决方案2】:

    这应该可以通过 QUERY() 实现。假设源工作表是“Sheet1”,在工作表“机会”中输入 A1:

    =QUERY('Sheet1!A1:G', "where G contains 'Lead'", 1)
    

    更改工作表名称和范围以适合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-12
      • 1970-01-01
      • 2021-04-06
      • 2016-08-02
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多