根据 google sheet 中的列自动填充其他列单元格
Auto-populate other column cells based on a column in google sheet
我正在尝试在 google sheet
中自动填充一些值
如果 B 列的值为 'Steel',它应该自动填充 C 列和 D 列中的 'NA'。
另一方面,如果 B 列中的值填充为 'Copper',则 E 和 F 列应变为 'NA'.
我不能使用公式,因为那样我就不能在这些列中输入其他值。例如,当 B 列为 'Steel'.
时,我需要 select E 列和 F 列下拉列表中的值
Expected Result
对于这种情况,您可以实现一个简单的触发器 (onEdit),以便在每次 material 属性 更改时自动填充您的 sheet。你可以这样做:
function onEdit(e) {
var ss = e.source;
var sh = ss.getActiveSheet();
var column = e.range.getColumn();
var row = e.range.getRow();
var material = e.value;
if (column == 2) {
if (material == "Copper") {
sh.getRange(row, column+1,1,2).setValue("");
sh.getRange(row, column+3,1,2).setValue("NA");
}
else if (material == "Steel") {
sh.getRange(row, column+1,1,2).setValue("NA");
sh.getRange(row, column+3,1,2).setValue("");
}
}
}
在此脚本中,我添加了 .setValue("") 以重置没有“NA”的其他字段。
为了测试脚本,我创建了一个简单的复制:
当我将 Material 属性 设置为“钢”时,我得到:
另一方面,当我将 Material 属性 更改为“Copper”时,我得到:
详情请参考Simple Triggers Guide and Event Objects Guide
这样试试:
function onEdit(e) {
var sh = e.range.getSheet();
if (sh.getName() == "Sheet Name" && e.range.columnStart == 2) {
if (e.value == "Copper") {
sh.getRange(e.range.rowStart, e.range.columnStart + 1, 1, 4).setValues([["", "", "NA", "NA"]]);
}
else if (e.value == "Steel") {
sh.getRange(e.range.rowStart, e.range.columnStart + 1, 1, 4).setValues([["NA", "NA", "", ""]]);
}
}
}
我正在尝试在 google sheet
中自动填充一些值如果 B 列的值为 'Steel',它应该自动填充 C 列和 D 列中的 'NA'。 另一方面,如果 B 列中的值填充为 'Copper',则 E 和 F 列应变为 'NA'.
我不能使用公式,因为那样我就不能在这些列中输入其他值。例如,当 B 列为 'Steel'.
时,我需要 select E 列和 F 列下拉列表中的值Expected Result
对于这种情况,您可以实现一个简单的触发器 (onEdit),以便在每次 material 属性 更改时自动填充您的 sheet。你可以这样做:
function onEdit(e) {
var ss = e.source;
var sh = ss.getActiveSheet();
var column = e.range.getColumn();
var row = e.range.getRow();
var material = e.value;
if (column == 2) {
if (material == "Copper") {
sh.getRange(row, column+1,1,2).setValue("");
sh.getRange(row, column+3,1,2).setValue("NA");
}
else if (material == "Steel") {
sh.getRange(row, column+1,1,2).setValue("NA");
sh.getRange(row, column+3,1,2).setValue("");
}
}
}
在此脚本中,我添加了 .setValue("") 以重置没有“NA”的其他字段。
为了测试脚本,我创建了一个简单的复制:
当我将 Material 属性 设置为“钢”时,我得到:
另一方面,当我将 Material 属性 更改为“Copper”时,我得到:
详情请参考Simple Triggers Guide and Event Objects Guide
这样试试:
function onEdit(e) {
var sh = e.range.getSheet();
if (sh.getName() == "Sheet Name" && e.range.columnStart == 2) {
if (e.value == "Copper") {
sh.getRange(e.range.rowStart, e.range.columnStart + 1, 1, 4).setValues([["", "", "NA", "NA"]]);
}
else if (e.value == "Steel") {
sh.getRange(e.range.rowStart, e.range.columnStart + 1, 1, 4).setValues([["NA", "NA", "", ""]]);
}
}
}