Поиск значения из ячейки на конкретную дату, затем сохраните это значение на неопределенное время - PullRequest
0 голосов
/ 14 июня 2019

Range containing numerical value needed

Destination Range

Я ищу формулу, которая: 14.06.199 ищет слово «Ige» в другом столбце и захватывает числовое значение.Найдя числовое значение, сохраняйте ТОЛЬКО это значение на неопределенный срок.Это коэффициенты для ставок, которые постоянно меняются, поэтому я хочу взять только те конкретные коэффициенты в тот день и поместить их в поле рядом с датой.

Я знаю, как настроить vlookup, но не уверенкак сделать это на определенную дату и сохранить значение только с этой даты.

1 Ответ

0 голосов
/ 14 июня 2019

Требования:

Копирование данных, соответствующих датам, в другой диапазон.


Решение:

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
    }
  }
}

Пояснение:

Скрипт перебирает ваш диапазон и сравнивает дату в столбце с текущей датой, а затем, если они совпадают, копирует значение в правильную строку в вашем диапазоне.

Вам нужно будет изменить var range, если вы хотите записать данные за более чем 6 дней, это достаточно просто, просто измените '6' на столько строк данных, которые вы хотите сохранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...