【问题标题】:Copy cell from on sheet to another, if other cell in row matches values如果行中的其他单元格与值匹配,则将单元格从工作表复制到另一个单元格
【发布时间】:2019-02-01 09:34:21
【问题描述】:

我想要的是将一个单元格从一个工作表复制到另一个工作表,前提是同一行(不同列)中的另一个单元格在 Google 表格中具有/具有特定值。

理想情况下,我希望这是现场直播;如果我在第一张表中添加一行并且条件匹配,则第二张表也会更新。这是一个例子:

Sheet one

Column A | Column(s)…  | Column D
=================================
Hello    |             | Yes
World!   |             | Yes
Foo      |             | Maybe
Bar      |             |

Sheet two

Column A | Column(s)…  | Column D
=================================
Hello    |             |
World!   |             |
Foo      |             |
         |             |

所以在这个例子中,我的标准是如果Column D 中的行单元格等于YesMaybe,则Column A 中的行单元格被复制到第二张表中。

【问题讨论】:

  • Excel中可能有类似的解决方法!

标签: google-sheets copy google-sheets-query


【解决方案1】:

请尝试:

=query('Sheet one'!A:D,"Select A where D='Yes' or D='Maybe'") 

【讨论】:

  • 应该可以。不知道为什么我想到了一个脚本。可能认为 OP 想要删除第一张纸上的行。 :-|
  • 谢谢你!我取消删除它。当最后一行被注释掉时,该行不会被删除..
【解决方案2】:

将以下脚本粘贴到脚本编辑器(即 Google 表格)中并保存项目。然后尝试编辑 sheet1 的 col D(值:“是”或“可能”)并查看行是否移动...如果需要,请随意更改工作表名称...

function onEdit(e) {
var ss = e.source,
    sheet = ss.getActiveSheet();
if (sheet.getName() !== 'Sheet1' || e.range.columnStart !== 4 || e.value !== 'Yes' && e.value !== 'Maybe') return;
e.source.getSheetByName('Sheet2')
    .appendRow(e.range.offset(0, -3, 1, 4)
        .getValues()[0]);
sheet.deleteRow(e.range.rowStart);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 2018-09-30
    • 2022-08-05
    • 2019-11-20
    相关资源
    最近更新 更多