我想创建一个维护以下内容的Google Spreadsheets文档:
表1(所有条目):未过滤
工作表2(第一级过滤器):从工作表1复制B列> / = 5000 或 C列> / = 50000
工作表3(第二级过滤器):从工作表1复制B列> / = 5000 AND C列> / = 50000
我创建了一个示例文档供参考,可编辑here。
相当有限的编程/脚本体验。
答案 0 :(得分:1)
如果您正在寻找脚本。虽然您必须自己进行映射,但这就是它的样子。我还没有打开你的文档,但如果你需要一个脚本来进行竞标,这将使它成功。
function sheetMaintain()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName("Sheet1");
var s2 = ss.getSheetByName("Sheet2");
var s3 = ss.getSheetByName("Sheet3");
var r1 = s1.getDataRange();
var r2 = s2.getDataRange();
var r3 = s3.getDataRange();
var data1 = r1.getValues();
for (var i=0; i<r1.getLastRow(); i++)
{
if (data1[i][1]>=5000 || data[i][2]>=50000)
{
var colB = data[i][1];
var colC = data[i][2];
var lr2 = r2.getLastRow();
s2.getRange(lr2+1, 1).setValue(colB); //Mapping Col B value to Col A of Sheet 2
s2.getRange(lr2+1, 2).setValue(colC); //Mapping Col C value to Col B of Sheet 2
}
if (data1[i][1]>=5000 && data[i][2]>=50000)
{
var colB = data[i][1];
var colC = data[i][2];
var lr3 = r3.getLastRow();
s3.getRange(lr3+1, 1).setValue(colB); //Mapping Col B value to Col A of Sheet 3
s3.getRange(lr3+1, 2).setValue(colC); //Mapping Col C value to Col B of Sheet 3
}
}
}
如果你想在Sheet2或Sheet3中没有任何重复项(从时间上再次运行函数),我还建议你研究一下使用clear()函数并将Sheet2和Sheet3设置为在再次解析Sheet1之前清除。
答案 1 :(得分:0)
我已在两张纸上添加了一个公式,以达到您想要的效果
即。下面的第一个是OR,第二个是AND
=filter('Sheet 1 - All Entries'!A:C,(('Sheet 1 - All Entries'!B:B>=5000) + ( 'Sheet 1 - All Entries'!C:C >=5000)))
=filter('Sheet 1 - All Entries'!A:C,(('Sheet 1 - All Entries'!B:B>=5000) * ( 'Sheet 1 - All Entries'!C:C >=5000)))
PS ......我不确定一个公式是否适合您,或者您是否希望通过脚本完成此操作