我正在尝试编写一段代码,从“账单主列表”(图 1)中搜索数据,并根据 2 个条件(图 3)将其拉入“数据输入表单”(图 2)
出于测试目的,这里有电子表格供您参考: https://docs.google.com/spreadsheets/d/1CyALo_tE_75w1SCPCIiiqgToyYRAnZJKMdpBpW6G5mY/edit#gid=1949705865
我当前正在编写的代码无法正确地将数据提取到数据输入表单,我失去了主意
这是编写的代码:
var SPREADSHEET_NAME = "Billing Masterlist"
var SEARCH_COL_year = 0;
var SEARCH_COL_hospital = 1;
function searchStr() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Data Entry Form");
var hospital = formSS.getRange("C5").getValue();
var year = formSS.getRange("C6").getValue();
var values = ss.getSheetByName("Billing Masterlist").getDataRange().getValues();
var cont = 0;
for (var i = 0; i < values.length; i++)
{
var row = values[i];
if ((row[SEARCH_COL_year] == year) || (row[SEARCH_COL_hospital] == hospital))
{
var s = (8 + cont).toString();
formSS.getRange("D8")setValue(row[0]);
formSS.getRange("B8")setValue(row[3]);
formSS.getRange("B12:B25" + s).setValue(row[3]);
formSS.getRange("E12:E25" + s)setValue(row[4]);
formSS.getRange("F12:F25" + s)setValue(row[5]);
cont = cont + 1;
}
}
}
filter
。
例如,在
!'Data Entry Form'B2
中,输入
=filter(!'Billing Masterlist'C7:D,!'Billing Masterlist'B7:B=C5,
!'Billing Masterlist'A7:A=C6)
您可以对需要提取的剩余数据使用相同的公式。
如果你可以使用内置函数,你应该使用。