在特定日期从单元格中查找值,然后无限期保留该值

时间:2019-06-13 23:47:07

标签: google-apps-script google-sheets scripting

Range containing numerical value needed

Destination Range

我正在寻找一个公式,该公式为:在19/4/14上,在另一列中查找“ Ige”并获取数值。找到数值后,请无限期保留该值。这些赔率是不断变化的,因此我只想获取特定日期的那些特定赔率,并将其放入日期旁边的框中。

我知道如何设置vlookup,但是不确定如何在特定日期进行操作,并且仅保留该日期后的值。

1 个答案:

答案 0 :(得分:0)

要求:

将数据匹配日期复制到另一个范围。


解决方案:

function copyData() {
  //spreadsheet variables
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getActiveSheet();

  //data variables
  var raw = sh.getRange('W30').getDisplayValue();
  var range = sh.getRange(71, 17, 6, 2); //row 71, column R, for 6 rows and 2 columns
  var data = range.getDisplayValues();
  var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), 'M/dd/yy');

  //loop through range
  for (i = 0; i < data.length; i++) {
    //if date on sheet matches today's date
    if (data[i][0] === date) {
      var val = raw.toString().replace(/\+|-/g,''); //remove '+' and '-' from data
      sh.getRange(71+i, 18).setValue(val); //set value
    }
  }
}

说明:

该脚本将循环遍历您的范围,并将列中的日期与当前日期进行比较,如果匹配,它将把值复制到您范围中的正确行。

如果要记录超过6天的数据,则需要更改var range,但这很容易,只需将“ 6”更改为要保留的行数据数量即可