пользовательская функция google sheet для изменения массива(диапазона)

#google-sheets #google-sheets-formula

Вопрос:

это упрощенная версия моего ввода и вывода: введите описание изображения здесь

Я добавил эту пользовательскую функцию, чтобы сделать обратное, но это не имеет никакого эффекта.

 function ReverseRange(inputRange) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var range = sheet.getRange(inputRange);
  return range
  .getValues()
  .reverse()
  ;
}
 

Комментарии:

1. Могу я спросить, почему вы делаете это с ГАЗОМ после того, как закончили с формулой?

2. уважаемый @idfurw версия формулы была удобной, но она была большой. Я работаю над сложным бизнес-планом с тысячами записей, и мне нужны более простые решения.

Ответ №1:

ответ от @idfurw решил проблему. Основываясь на его ответе, я обнаружил, что могу определить функцию без необходимости вызывать по ссылке. Это версия, которая работает по значению:

 function ReverseRangeByValue(inputRange) {
  return [inputRange[0].reverse()];
}
 

Вот как я это называю:

 =ReverseRangeByValue(B15:D15)
 

Ответ №2:

 function ReverseRange(inputRange) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var range = sheet.getRange(inputRange);
  var values = range.getValues();
  return [values[0].reverse()];
}