我为一家主要的汽车制造商工作,我需要一些谷歌工作表脚本的帮助我需要写(我假设脚本是前进的方向?)
我有一个google工作表文件,用于监控多个部门的问题和计划的改进。该工作簿有多个选项卡,我需要以某种方式复制和粘贴其中的数据。
我已经包含了一个示例文件来尝试并帮助解释它,这是一个非常复杂的文件来尝试解释...我会尽我所能。听起来我需要使用脚本,但我不熟悉使用脚本。
文件说明: 每周我将带有最新数据的表格更新到“主数据”表中,此表使用查询提供“电气”表。电子更新的部门所有者用他的行为和时间更新“电气输入”表。也进入“电气”表。 “电气”表格依次输入“改进数据”表格,该表格为图表提供信息。
它是这样排列的,所以当新的问题被添加并且订单改变时,评论会跟在“电气”表上,并且所有者只需要用他尚未完成的评论更新“电气输入”表
我想尝试做什么: 我希望能够运行一个脚本来过滤或提取电子表格中的任何内容#N / A(这意味着输入表中没有找到3个单元格组合)并复制并粘贴这些项目进入未填充的下一个可用行的“电输入”表。在实际文件中有多个depts,因此必须运行脚本的变体来覆盖不同的depts。
请问任何想法或解决方案?提前谢谢。
马特
答案 0 :(得分:0)
这是一个简单的复制脚本,可帮助您入门。 copyTo记录在案here。其余命令可以在同一文档中找到。
在您完成了一些自己的脚本后,您会发现自己编写脚本要容易得多,而不是花费所有时间来复制脚本。
function copyPasteSelectedRows()
{
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName('Sheet2');
var sh0=ss.getSheetByName('Sheet1');
var rg0=sh0.getDataRange();
var vA=rg0.getValues();
for(var i=1;i<vA.length;i++)
{
if(vA[i][10]==1)//condition to meet to copy
{
var src=sh0.getRange(i+1,1,1,vA[i].length);//source range
var tar=sh1.getRange(sh1.getLastRow() + 1,1,1,vA[i].length);//target range
src.copyTo(tar);
}
}
}
这是Sheet1:
这是复制后的Sheet2:
答案 1 :(得分:0)
我已使用相关代码更新了您共享的spreadsheet
您可以通过Add Ons->Master Data Utils->Clean Up Keys
菜单运行脚本。
菜单是在此脚本的OnOpen
函数中创建的。
请注意,脚本可以使用以下几个要求。(已经在共享ss中处理过)
NamedRange
的{{1}},它将在上面显示的表的左上角。Department_List
- &gt; Column to Clean
Action Summary
#N/A
- &gt; Display Sheet Name
Electrical
的所在。#N/A
- &gt; Input Sheet Name
Electricalinput
- &gt; Copy Cols From(Disp)
将通过这是我尝试的代码,让我知道任何可以更容易使用的建议或更改。
B:D