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

Copy cell from on sheet to another, if other cell in row matches values

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

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

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 中行的单元格被复制到第二个 sheet.

在脚本编辑器(google sheet 的脚本编辑器中粘贴以下脚本并保存项目。然后尝试编辑 sheet1 的列 D(值:'Yes' 或 'Maybe')并查看该行是否移动...如果需要,请随意更改 sheet 名称。 ..

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'")