使用规则自动将单元格从 Sheet2 复制到 Sheet1 上的自定义列
Automatically Copy cells from Sheet2 to Custom column on Sheet1 with rule
寻求帮助调整以下脚本(或显示您的版本?)以从列 B Sheet2(其中 D 包含“NOT_ON_WORKSHEET ")(onEdit 与否)到 Sheet1 的第 4 列 (D) 的最后一行,而不是当前的第 1 列 (A)。尝试使用 setValue,但无法正常应用。
function onEdit(e) {
var ss = e.source,
sheet = ss.getActiveSheet();
if (sheet.getName() !== 'Sheet2' || e.range.columnStart !== 4 || e.value !== 'NOT_ON_WORKSHEET') return;
e.source.getSheetByName('Sheet1')
.appendRow(e.range.offset(0, -2, 1, 1)
.getValues()[0]);
}
视觉解释
SHEET 1:
Column A | Column(s)… | Column D
... | ... | #Name#
=================================
... | | Qwe
| ... | Asd
... | ... | Zxc
| | <"little bug" must be copied here (Not row, only one cell B)>
SHEET 2:
Column A | Column B | Column D
... | #Name# | #Is on Sheet1?#
=================================
| Qwe |
... | Asd |
| Zxc |
... | little bug | NOT_ON_WORKSHEET
当前脚本仅将 B(Sheet2) 中的单元格复制到 A 列而不是 D(Sheet1)(对于原始 tnx )
好的,我终于成功了。它很好地解决了主题的问题。
function onEdit(e) {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
if (sheet.getName() !== '2' || e.range.getColumn() !== 4 || e.value !== 'Yes') return;
var value = e.range.offset(0,-2,1,1).getValue();
sheet = e.source.getSheetByName('1');
var grd = sheet.getRange("D:D").getValues();
var maxIndex = grd.reduce(function(maxIndex, row, index) {
return row[0] === "" ? maxIndex : index;
}, 0);
sheet.getRange(maxIndex+2,e.range.getColumn()-2,1,1).setValue(value);
}
寻求帮助调整以下脚本(或显示您的版本?)以从列 B Sheet2(其中 D 包含“NOT_ON_WORKSHEET ")(onEdit 与否)到 Sheet1 的第 4 列 (D) 的最后一行,而不是当前的第 1 列 (A)。尝试使用 setValue,但无法正常应用。
function onEdit(e) {
var ss = e.source,
sheet = ss.getActiveSheet();
if (sheet.getName() !== 'Sheet2' || e.range.columnStart !== 4 || e.value !== 'NOT_ON_WORKSHEET') return;
e.source.getSheetByName('Sheet1')
.appendRow(e.range.offset(0, -2, 1, 1)
.getValues()[0]);
}
视觉解释
SHEET 1:
Column A | Column(s)… | Column D
... | ... | #Name#
=================================
... | | Qwe
| ... | Asd
... | ... | Zxc
| | <"little bug" must be copied here (Not row, only one cell B)>
SHEET 2:
Column A | Column B | Column D
... | #Name# | #Is on Sheet1?#
=================================
| Qwe |
... | Asd |
| Zxc |
... | little bug | NOT_ON_WORKSHEET
当前脚本仅将 B(Sheet2) 中的单元格复制到 A 列而不是 D(Sheet1)(对于原始 tnx
好的,我终于成功了。它很好地解决了主题的问题。
function onEdit(e) {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
if (sheet.getName() !== '2' || e.range.getColumn() !== 4 || e.value !== 'Yes') return;
var value = e.range.offset(0,-2,1,1).getValue();
sheet = e.source.getSheetByName('1');
var grd = sheet.getRange("D:D").getValues();
var maxIndex = grd.reduce(function(maxIndex, row, index) {
return row[0] === "" ? maxIndex : index;
}, 0);
sheet.getRange(maxIndex+2,e.range.getColumn()-2,1,1).setValue(value);
}