根据2个条件搜索数据

问题描述 投票:0回答:1

我正在尝试编写一段代码,从“账单主列表”(图 1)中搜索数据,并根据 2 个条件(图 3)将其拉入“数据输入表单”(图 2)

图1:计费总表

图2:数据输入表

图3:搜索

出于测试目的,这里有电子表格供您参考: 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;

    }
  }
}

google-sheets search
1个回答
0
投票

只需使用内置

filter

例如,在

!'Data Entry Form'B2
中,输入

=filter(!'Billing Masterlist'C7:D,!'Billing Masterlist'B7:B=C5,
                                  !'Billing Masterlist'A7:A=C6)

您可以对需要提取的剩余数据使用相同的公式。

如果你可以使用内置函数,你应该使用。

© www.soinside.com 2019 - 2024. All rights reserved.