Google sheets 如果行中的其他单元格与值匹配,则将单元格从图纸上复制到另一个

Google sheets 如果行中的其他单元格与值匹配,则将单元格从图纸上复制到另一个,google-sheets,copy,google-sheets-query,Google Sheets,Copy,Google Sheets Query,我想要的是,仅当同一行(不同列)中的另一个单元格在Google工作表中具有特定值时,才将单元格从一个工作表复制到另一个工作表 理想情况下,我希望这是生活;如果我在第一个工作表中添加一行,并且条件匹配,那么第二个工作表也将更新。下面是一个例子: Sheet one Column A | Column(s)… | Column D ================================= Hello | | Yes World! |

我想要的是,仅当同一行(不同列)中的另一个单元格在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      |             |
         |             |

因此,在本例中,我的标准是,如果
列D
中的行单元格等于
Yes
Maybe
,则
列A
中的行单元格将复制到第二个工作表中。

在脚本编辑器(即谷歌工作表)中粘贴到脚本下方,并保存项目。然后尝试编辑sheet1的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);
}
请尝试:

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

Excel中可能有类似的问题解决方案!应该这样做。不知道我为什么想到剧本。可能认为OP想删除第一页上的行:-|谢谢,普努斯!我取消了它。当最后一行被注释掉时,该行将不会被删除。。