Google sheets 我哪里做错了?onEdit-谷歌表单脚本定稿
我只是想对我的剧本做一些额外的补充。 在“显示SCM类别”页上 选择E4下拉列表时 如果“更新”,则 F1将成为文本“Col1” 如果是“SCM类别”,则 F1变为文本“Col4” 如果是“公司”,那么 F1将成为文本“Col6” 我在脚本末尾加了几行,但我不太明白我错在哪里。 这样我就可以使用这个函数了Google sheets 我哪里做错了?onEdit-谷歌表单脚本定稿,google-sheets,Google Sheets,我只是想对我的剧本做一些额外的补充。 在“显示SCM类别”页上 选择E4下拉列表时 如果“更新”,则 F1将成为文本“Col1” 如果是“SCM类别”,则 F1变为文本“Col4” 如果是“公司”,那么 F1将成为文本“Col6” 我在脚本末尾加了几行,但我不太明白我错在哪里。 这样我就可以使用这个函数了 =query({'Newest at Top'!A1:N}, "select * where Col4 contains '"&B1&"' order by '"&F
=query({'Newest at Top'!A1:N}, "select * where Col4 contains '"&B1&"' order by '"&F1&"',Col1,Col5",0)
也就是说,这样我就可以用“&F1&”指定要排序的列
脚本是:
function onEdit(e) {
var sheets = ['Sanshiro', 'Yujiro', 'Josh', 'Suil', 'Martin','Show SCM Category'],
cols = [1, 6],
writeCols = [15, 11],
ind = cols.indexOf(e.range.columnStart);
if (sheets.indexOf(e.source.getActiveSheet()
.getName()) === -1 || ind === -1 || !e.value) return;
if (ind === 0 && e.value === 'Update') {
e.range.setValue(new Date());
} else if (ind === 1) {
if (e.range.offset(0, 5)
.getValue() === '') e.range.offset(0, 5)
.setValue(2);
if (e.range.offset(0, 9)
.getValue() === '') e.range.offset(0, 9)
.setValue(new Date());
if (e.range.offset(0, -5)
.getValue() === '') e.range.offset(0, -5)
.setValue(new Date());
}
else if (ind === 1 && e.value === 'Updated') {
e.range.setValue(Col1); }
else if (ind === 1 && e.value === 'SCM Category') {
e.range.setValue(Col4);}
else if (ind === 1 && e.value === 'Company') {
e.range.setValue(Col6);
}}
或者可能有一种更简单的方法来实现这一点,类似于=if ISTEXT
非常感谢任何帮助 你可以用公式来做。在F1中,请尝试:
=iferror(vlookup(E1, {"Updated","Col1"; "SCM Category" ,"Col4"; "Company" , "Col6" },2,0))
注意:在查看您的电子表格时,我注意到E1中的下拉列表,这就是为什么我在公式中使用E1而不是您问题中引用的E4单元格。再次感谢JPV!你真是这方面的高手。你是创造性的解决方法,继续给人留下深刻印象!多亏了你们的支持,我的整个办公室都在工作中收获了合作桌作为信息来源的好处:再次感谢你们,祝你们一切顺利!